html2Canvas+JsPDF 导出pdf 无法显示网络图片

html2Canvas+JsPDF 导出pdf

问题:类似于下面着这种网络图片使用img导出的时候是空白的

https://gimg3.baidu.com/search/src=http%3A%2F%2Fpics4.baidu.com%2Ffeed%2F7e3e6709c93d70cf827fb2fda054500cb8a12bc9.jpeg%40f_auto%3Ftoken%3Dd97d3f0fd06e680e592584f8c7a24ac8\&refer=http%3A%2F%2Fwww.baidu.com\&app=2021\&size=f360,240\&n=0\&g=0n\&q=75\&fmt=auto?sec=1690045200\&t=e1a88c44b1b9907677400a079766e0bf

解决:将网络图片转成base64

复制代码
<img :src="aaa" style="width:200px" alt="">

转base64
let res = await this.getBase64Image('https://gimg3.baidu.com/search/src=http%3A%2F%2Fpics4.baidu.com%2Ffeed%2F7e3e6709c93d70cf827fb2fda054500cb8a12bc9.jpeg%40f_auto%3Ftoken%3Dd97d3f0fd06e680e592584f8c7a24ac8&refer=http%3A%2F%2Fwww.baidu.com&app=2021&size=f360,240&n=0&g=0n&q=75&fmt=auto?sec=1690045200&t=e1a88c44b1b9907677400a079766e0bf')
this.aaa = res

getBase64Image(src) {
      return new Promise(resolve => {
        const img = new Image()
        img.crossOrigin = ''
        img.src = src
        img.onload = function() {
          const canvas = document.createElement('canvas')
          canvas.width = img.width
          canvas.height = img.height
          const ctx = canvas.getContext('2d')
          ctx && ctx.drawImage(img, 0, 0, img.width, img.height)
          const ext = img.src.substring(img.src.lastIndexOf('.') + 1).toLowerCase()
          const dataURL = canvas.toDataURL('image/' + ext)
          resolve(dataURL)
        }
      })
    },

导出

相关推荐
生而为虫14 小时前
Windows]PDF转换工具1.0
pdf
daanpdf14 小时前
人教版八年级下册英语单词表及听力音频2026
pdf
其实秋天的枫14 小时前
【2026.6月英语六级】英语六级高频核心词汇1500个+历年真题PDF电子版
经验分享·pdf
优化控制仿真模型14 小时前
【26年驾照科目一】驾考科目一考试题库2309道电子版pdf
经验分享·pdf
小为资料库14 小时前
【专四】英语专业四级历年真题、听力音频mp3及答案解析电子版PDF(2009-2025年)
pdf
小为资料库15 小时前
2026上教资面试历年真题汇总及结构化题库PDF电子版(含小学、初中和高中各科全)
面试·职场和发展·pdf
优化控制仿真模型1 天前
【2026考研408】考研计算机408统考历年真题及答案解析PDF电子版(2009-2026年)
经验分享·pdf
南风微微吹1 天前
2026年5月教资面试结构化、试讲真题及答案汇总PDF(中小幼全)
面试·pdf