jsPDF+html2canvas中阿里云OSS网络图片渲染报跨域问题,生成pdf文件不显示图片解决方案

问题分析:访问使用 OSS 默认域名生成的文件 URL 会触发浏览器默认强制下载。(思路错了)

尝试步骤:

1.在阿里云oss配置选择对应的文件,设置文件元数据

2.Bucket 配置-域名管理:绑定域名实现通过域名访问url图片。——无效

3.权限控制-读写权限:改为公共读。——无效

4.在img标签添加:crossorigin="anonymous" src地址后跟随机数时间戳;——无效

<img
  crossorigin="anonymous"
  :src="avatarSrc_url.avatarUrl+'?a='+new Date().getTime()"
  alt=""
/>
html2canvas(canvasID, {
  useCORS: true,
  allowTaint: true,
})

5.根据查看浏览器控制台报错信息:Access to image at ‘xxxx’ has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

在OSS配置中修改数据安全-跨域设置-创建规则来源为:【*】或者域名【*.test.com】或者ip+端口(*)【http://192.168.1.1:*】 ——生效 

总结:需要同时设置3、4、5

 相关文章推荐:

  1. 前端一行代码生成数千页PDF,dompdf.js新增分页功能
  2. DomPDF.js
posted @ 2025-12-15 16:19  Oopy  阅读(18)  评论(0)    收藏  举报