JS 点击下载按钮之后实现文件和图片的下载

JS 点击下载按钮之后实现文件的下载

function funDownload(url:string){

  var iframe = document.createElement("iframe")

  iframe.style.display = "none";

  iframe.src = url;

  document.body.appendChild(iframe);

}

点击下载按钮执行的函数:

const download=(item:any)=>{

    funDownload(`${item.url}`)

    console.log('按钮被点击了')

  }


JS实现图片的下载:

function downloadIamge(imgsrc: string, name: string) { //下载图片地址和图片名

    let image = new Image();

    // 解决跨域 Canvas 污染问题

    image.setAttribute("crossOrigin", "anonymous");

    image.onload = function () {

      let canvas = document.createElement("canvas");

      canvas.width = image.width;

      canvas.height = image.height;

      let context = canvas.getContext("2d");

      context?.drawImage(image, 0, 0, image.width, image.height);

      let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据

      let a = document.createElement("a"); // 生成一个a元素

      let event = new MouseEvent("click"); // 创建一个单击事件

      a.download = name || "photo"; // 设置图片名称

      a.href = url; // 将生成的URL设置为a.href属性

      a.dispatchEvent(event); // 触发a的单击事件

    };

    image.src = imgsrc;

  }

点击下载按钮之后执行这个函数downloadIamge,第一个参数是图片的地址,第二个参数是图片下载之后的图片名称

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 方法1: img 标签实现(亲测,使用无误) html: 注:crossorigin="anonymous" 必填...
    SailingBytes阅读 5,506评论 0 1
  • 两种图片下载方式:点击下载(常用于pc端)、长按下载(h5端更适合) 一、点击下载 步骤记录: 1、用户点击下载按...
    Ailin886阅读 3,750评论 0 0
  • 日常学习知识点总结(JS篇) 1、闭包: 闭包就是函数中的函数,里面的函数可以访问外面函数的变量,外面的变量是内部...
    依稀_Sting阅读 2,111评论 0 1
  • vue实现照片选择或者拍照功能 照片格式校验, 图片质量压缩, 图片尺寸压缩, 图片离线保存, 图片base64编...
    洛音轩阅读 287评论 0 0
  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 4,678评论 0 20