laravel 远程服务器获取图片,解决前端显示图片跨域问题
2018-01-18 19:00
2586 查看
由于前端页面需要显示别个服务器的图片,出现跨域问题,解决办法,后端获取图片流,在本地服务器上过,再给前端显示,目前的解决办法是获取之后以base64图片流或者返回二进制返回,前端使用方式和一般请求图片一样请求接口。
guzzle的中文文档:http://guzzle-cn.readthedocs.io/zh_CN/latest/
官方:https://packagist.org/packages/guzzlehttp/guzzle-services
laravel 5.3,使用composer 安装
具体实现
前端请求方式
guzzle的中文文档:http://guzzle-cn.readthedocs.io/zh_CN/latest/
官方:https://packagist.org/packages/guzzlehttp/guzzle-services
laravel 5.3,使用composer 安装
"require": { "guzzlehttp/guzzle": "^6.3" }
具体实现
use GuzzleHttp\Client; try { $url = "http://q1.qlogo.cn/g?b=qq&nk=$qq&s=100"; $client = new Client(['verify' => false]); $data = $client->request('get', $url)->getBody()->getContents(); return response($data, 200, [ 'Content-Type' => 'image/png', ]); } catch (RequestException $e) { $default = file_get_contents(storage_path('default/qq-default.png')); return response($default, 200, [ 'Content-Type' => 'image/png', ]); }
前端请求方式
<img src="http://test.com/api/test" alt=""> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV4AAAFeCAMAAAD...">#base64后显示超级长
相关文章推荐
- Laravel框架之前端显示图片问题
- java后台设置可跨域访问,前端ajax获取json数据,解决浏览器限制跨域访问的问题
- 解决通过CHttpFile获取远程图片,图片长度取得不准确的问题
- 解决nginx服务器图片(js/背景图片)不能显示问题
- html的img中使用SVG图片做SRC在本地测试可用但是上传服务器后不能显示问题解决 标签: SVGMIME TYPE不显示服务器设置 2016-05-21 13:49 2517人阅读 评论(0)
- Android开发中调用系统相册上传图片到服务器OPPO等部分手机上出现短暂的显示桌面问题的解决方法
- html的img中使用SVG图片做SRC在本地测试可用但是上传服务器后不能显示问题解决
- 解决图片在服务器展示和不显示问题
- laravel5.0 view层 解决本地服务器和远程服务器网站路径问题
- 项目部署问题:xftp无法连接服务器、Nginx403 Forbidden解决、nginx反向代理解决前端跨域问题
- 本地地图api传到服务器上不显示,解决跨域问题
- 关于spss显示“试图连接远程服务器失败”的问题以及解决方法
- js,angularjs 图片上传服务器,并解决照片旋转问题,前端图片压缩上传
- 性能测试过程中前端某图片显示异常问题及解决思路
- 解决微信图片无法显示问题。服务器下载图片,返回Image流
- 关于win2003服务器远程断开后自动注销的问题解决
- IIS无法显示中文名称图片问题的解决方法
- 解决远程无法登陆mysql服务器的问题和重置密码
- iphone 界面不能显示图片,文字问题的一般解决办法
- Ubuntu/Debian下JAVA 中文/图片中文字体乱码显示问题解决方法