您好,欢迎访问沃航(武汉)科技有限公司官方网站
js拉取远端图片跨域问题的解决方法
2019-07-20 00:59:56

跨域保护作为浏览器访问的基本防御手段,通常需要服务器那边同意跨域才能让浏览器正常工作。如果是动态语言,我们通常是在语言中就直接添加Access-Control-Allow-Origin:*来实现允许跨域。

但是这次项目中,小沃遇到了需要拉取远端图片的问题。简单的说,就是服务器提供一个图片的url地址,然后将这个url地址指向的图片保存在canvas中,后续再将这个canvas做toBlob或是todataurl操作存储到localStorage中或是转发给其他客户端。

但是,实际操作发现,如果浏览器与图片不在同一个域名下,canvas执行toBlob或是todataurl会报错,提示为跨域不被允许。

下面我来告诉下大家nginx解决这个问题的方法。

下面是nginx的配置文件,这里我们假设图片文件放在路径为imgs的文件夹下。

location /imgs/ {
    add_header Access-Control-Allow-Origin *;
}

这样以后这个文件夹下的所有请求,都会被nginx添加一个允许跨域的标志。因此也就可以保存图片了。


文章作者:沃航科技

联系我们
地址:
武汉市洪山区蓝晶国际7栋903
QQ:
932773931
电话:
027-59761089-806
手机:
13397158231
邮箱:
jevian_ma@worldflying.cn
×
物联网组态平台
试用账号:123456
试用密码:123456
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn
×
积木编程平台
试用方式:试用手机号码注册即可使用
如需测试更多功能或者有疑问可发送邮件至:jevian_ma@worldflying.cn