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的单击事件
            });
        },
    

      

  • 相关阅读:
    继承
    对象和封装
    类的无参、带参方法
    类和对象
    数组
    循环结构
    选择结构
    变量、数据类型和运算符
    快捷键
    MyEclipse与JDK的配置
  • 原文地址:https://www.cnblogs.com/guozhe/p/15602340.html
Copyright © 2011-2022 走看看