zoukankan      html  css  js  c++  java
  • 浏览器中js怎么将图片下载而不是直接打开

    网上找了好多方法都是不能用的,经过试验在Chrome中都是直接打开。

    经过自己的摸索,找到了一套能用的解决方案

    var database = "data:image/jpg;base64," + data.data;
    let aLink = document.createElement('a');
    let blob = this.base64ToBlob(database ); //new Blob([content]);
    let evt = document.createEvent("HTMLEvents");
    evt.initEvent("click", true, true);//initEvent 不加后两个参数在FF下会报错  事件类型,是否冒泡,是否阻止浏览器的默认行为
    aLink.download = fileName;
    aLink.href = URL.createObjectURL(blob);
    aLink.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));//兼容火狐

    这种方式需要让后台给一个base64的字符串。

    base64前台显示图片的方法

    $("#image").attr("src", "data:image/jpg;base64," + data.data);
  • 相关阅读:
    hsdis反汇编java源码工具的使用方法
    final添加内存屏障问题
    Spring-AOP
    Spring-IOC
    IO与NIO
    设计模式学习笔记
    Redis学习笔记
    MySQL优化
    STAR法则
    大文件分割之Linux
  • 原文地址:https://www.cnblogs.com/heyiping/p/12809127.html
Copyright © 2011-2022 走看看