初学者的浅谈 2019-02-13 03:49 采纳率: 0%
浏览 3672
已采纳

将html转成图片 手机端 下载base64 的图片下载失败?pc端正常什么原因?求解?

html代码部分

<template>
<div class="main">
  <div>
        <div id="deaitl">
                 </div>
    </div>
<a id="tt" ref="download" v-show="false" :href="downloadUrl" :download="downloadfilename"></a>
 </div>
</template>




脚本处理

getPdf() {

  var vm=this;
      html2Canvas(document.querySelector("#deaitl"), {
        allowTaint: true
      }).then(function(canvas) {
        let contentWidth = canvas.width;
        let contentHeight = canvas.height;

        let leftHeight = contentHeight;
        let position = 0;
        let imgWidth = 595.28;
        let imgHeight = (592.28 / contentWidth) * contentHeight;
        let pageHeight = (contentWidth / 592.28) * 841.89;
        let pageData = canvas.toDataURL("image/jpeg", 1.0);
                //base64

         vm.downLoadImage(pageData);//执行下载

      });
    },
      downLoadImage (imgUrl) {

      this.downloadUrl = imgUrl
      this.downloadfilename =  this.titlename;

      setTimeout(() => {
            //a 标签下载
        this.$refs.download.click()
      }, 200)
    }

展开全部

  • 写回答

4条回答 默认 最新

  • yanzhi_2016 2019-02-13 10:03
    关注

    经过验证,不管a标签的href属性值是base64还是url路径(相对路径pc端可以下载,绝对路径pc端会打开新页签),手机端都不能使用a标签下载图片。楼主可以考虑在手机端将生成的图片显示在页面上并提示用户长按图片保存。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部