zoukankan      html  css  js  c++  java
  • js 图片和文件 下载功能

     download(src, fileName) {
          // //下载图片地址和图片名
          // var image = new Image();
          // // 解决跨域 Canvas 污染问题
          // image.setAttribute("crossOrigin", "anonymous");
          // image.onload = function () {
          //   var canvas = document.createElement("canvas");
          //   canvas.width = image.width;
          //   canvas.height = image.height;
          //   var context = canvas.getContext("2d");
          //   context.drawImage(image, 0, 0, image.width, image.height);
          //   var url = canvas.toDataURL("image/jpg"); //得到图片的base64编码数据
          //   var a = document.createElement("a"); // 生成一个a元素
          //   var event = new MouseEvent("click"); // 创建一个单击事件
          //   a.download = fileName.split(".")[0] || "photo"; // 设置图片名称
          //   a.href = url; // 将生成的URL设置为a.href属性
          //   a.dispatchEvent(event); // 触发a的单击事件
          // };
          // image.src = src;
          let link = document.createElement("a");
    
          // 这里是将url转成blob地址,
          fetch(src)
            .then((res) => res.blob())
            .then((blob) => {
              // 将链接地址字符内容转变成blob地址
              link.href = URL.createObjectURL(blob);
              link.download = fileName.split(".")[0] || "photo";// 文件名称
              document.body.appendChild(link);
              var event = new MouseEvent("click"); // 创建一个单击事件
              //   link.click();
              link.dispatchEvent(event); // 触发a的单击事件
            });
        },
    

      

  • 相关阅读:
    linux学习笔记--20150122
    破解LR11 sentinel stage failed
    Linux部署环境初学(Resin、jdk)
    MongoDB操作
    TestNG
    在iOS8 下用Swift 创建自定义的键盘
    iOS 8下简单,可交互式的通知
    设计模式:策略模式
    用Swift创建一个自定义,可调整的控件
    iOS7状态栏上有趣的渐变遮罩
  • 原文地址:https://www.cnblogs.com/guozhe/p/15602340.html
Copyright © 2011-2022 走看看