情景再现:在项目中遇见这样一个问题,前端已经将我后端接口返回来的图片显示出来了,但是由于后端,前端两个端口不一致,就会导致前端在下载图片的时候下载不下来,存在跨域问题,这时就只需要将图片转为base64格式再返回给前端就可以实现下载了,参考代码如下:
$poster = $this->db->get('invite_poster', '*' ,['status'=>1]);
$str = $poster['img'];
$poster['img'] = "data:image/png;base64,". base64_encode(file_get_contents($str));
$this->echo_json(1, 'ok', $poster);