OSS文件下载-html2canvas 图片跨域分析

本文介绍了如何利用html2canvas库将DOM转换为海报图片,并在遇到跨域问题时,通过配置Access-Control-Allow-Origin和使用匿名模式(不携带用户cookie信息)以及处理Sec-Fetch-Mode为CORS来确保图片下载成功。

html2canvas 将 dom 转海报图片下载

const options = {
backgroundColor: null,
canvas: canvas,
useCORS: true, // 配置允许跨域
dpi: 300 // 处理模糊问题
};
console.log("获取指定的宽高", width, height, canvas);
html2canvas(canvasDom, options)
  • 阿里云后台配置 Access-Control-Allow-Origin: *,允许图片跨域访问
request headerimg = new Image();
img.src=""
img = new Image();
img.crossOrigin = 'anonymous';
img.src=""
Sec-Fetch-Destimageimage
Sec-Fetch-Modeno-corscors
Sec-Fetch-Sitecross-sitecross-site
  • img.crossOrigin = ‘anonymous’;
  • 对其理解:匿名模式,即请求的时候,不携带能够标识用户 cookie 信息
  • 开启后,会发现请求 header 的 Sec-Fetch-Mode 会变成:cors,即要求后端设置 cors response header
  • 如下图,是 html2cancavas

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值