在写小程序的时候,访问一个网址获取图片,可是显示会出现403(防止盗链)的错误.
总结了一下,有两种方法是能够解决这个问题的:前端
images.weserv.nl
方案no-referrer
方案images.weserv.nl
方案getImage(url){ console.log(url); // 把如今的图片链接传进来,返回一个不受限制的路径
if(url !== undefined){ return url.replace(/^(http)[s]*(\:\/\/)/,'https://images.weserv.nl/?url='); } }
把图片路径直接传进去,替换一下原来url
的http/https
.或者直接在图片url前加上https://images.weserv.nl/?url=
如:小程序
https://images.weserv.nl/?url=http://img.zcool.cn/community/01d881579dc3620000018c1b430c4b.JPG@3000w_1l_2o_100sh.jpg
原图片的http://
是能够省略的(与上面的getImage
函数是同样的结果)函数
https://images.weserv.nl/?url=mg.zcool.cn/community/01d881579dc3620000018c1b430c4b.JPG@3000w_1l_2o_100sh.jpg
no-referrer
方案这种方案不只针对图片的防盗链,还能够是其余标签.
在前端页面头部添加一个meta
url
<meta name="referrer" content="no-referrer" />
referrer的几种状态spa
a标签的referrer
.net
<a href="http://example.com" referrer="no-referrer|origin|unsafe-url">xxx</a>
img/image标签的referrercode
<img referrer="no-referrer|origin|unsafe-url" src="{{item.src}}"/>
<image referrer="no-referrer|origin|unsafe-url" src="{{item.src}}"></image>
若是咱们是访问的gif图片,使用第一种方案是没有gif效果的,只能显示静态图片.这个时候推荐你们使用第二种.亲测能够完美展现gif效果.blog
from:https://blog.csdn.net/tiantang_1986/article/details/83748782图片