canvas跨域完美解决,微信头像解决跨域

如今前端技术发展的愈来愈快,不少图片合成这种耗费服务器性能的,均可以移动到前端进行了合成了。并且合成很方便,咱们利用 canvas 能够实现好多东西。html

自动打算利用前端来合成图片,在网上就找到了 html2canvas,你们能够试试,很简单。前端

前端 canvas 常常会遇到 『图片跨域』 的问题。nginx

项目中,最典型的例子是: 将微信头像,经过 canvas 来合成图片数据库

以前的作法一直是,将微信头像保存下来,能够存储到目录,和用户 id 相关的命名。我是直接获取图片的 base64 存储到了数据库,原理同样。canvas

今天偶尔看到一篇文章,使用了 nginx 代理。我是对运维方面很是差,好多东西不没用过,试了下,可用,很是好!记录下来:跨域

location ^~ /wechat_image/ {
	add_header 'Access-Control-Allow-Origin' "$http_origin" always;
	add_header 'Access-Control-Allow-Credentials' 'true' always;
	add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS' always;
	add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-   Since,Keep-Alive,Origin,User-Agent,X-Requested-With' always;
	proxy_pass http://thirdwx.qlogo.cn/;
}

意思是:
	当咱们访问本身项目域名的 '/wechat_image/' 下的文件,会代理为 'http://thirdwx.qlogo.cn/' 域名。

	例如:
		微信头像是:
			http://thirdwx.qlogo.cn/mmopen/2jvVWBbFLSUwQFzfrv0FblezRqvwN8oQRA2lwolqoCKfASiarKiaibkrglsp6FCxxPdaicKeUs6KVeyPPicgGWXySXsUiaITgM7PPT/132

		咱们在项目中使用的图片url为:
			http://网站域名/wechat_image/mmopen/2jvVWBbFLSUwQFzfrv0FblezRqvwN8oQRA2lwolqoCKfASiarKiaibkrglsp6FCxxPdaicKeUs6KVeyPPicgGWXySXsUiaITgM7PPT/132

参考文章: https://blog.csdn.net/mengruobaobao/article/details/79164793服务器


做者:beyond__devil 来源:CSDN 原文:https://blog.csdn.net/beyond__devil/article/details/82467358 版权声明:本文为博主原创文章,转载请附上博文连接!微信

相关文章
相关标签/搜索