• vue 兼容ie 下载文件


     handlePreview(file) {
          getFile(file.id)
            .then(res => {
              const blob = new Blob([res]);
              if (window.navigator.msSaveOrOpenBlob) {
                // 兼容IE
                navigator.msSaveBlob(blob, file.name);
              } else {
                var a = document.createElement("a");
                var event = new MouseEvent("click");
                a.download = file.name;
                a.href = window.URL.createObjectURL(blob);
    
                a.dispatchEvent(event);
              }
            })
            .catch(err => {
              console.log("err", err);
            });
        }
    import request from '@/utils/request'
    
    // 请求的返回类型需要为blob否则导出会有问题
    export function exportFun1() {
        return request({
            url: '/asset/exportLease',
            responseType: "blob",
            method: 'get'
        })
    }
    方法二
    export function downloadFile(obj, name, suffix) {
    //obj是后端返回的流
    //name是导出文件的名字
    //suffix是文件后缀
    if (window.navigator.msSaveOrOpenBlob) { // 兼容IE const blob = new Blob([obj]); const fileName = parseTime(new Date()) + '-' + name + '.' + suffix navigator.msSaveBlob(blob, fileName); } else { const url = window.URL.createObjectURL(new Blob([obj])) const element = document.createElement('a') element.style.display = 'none' element.href = url const fileName = parseTime(new Date()) + '-' + name + '.' + suffix element.setAttribute('download', fileName) document.body.appendChild(element) element.click() document.body.removeChild(element) } }
  • 相关阅读:
    python学习之列表和字典
    python学习之字符串(下)
    python学习之数字
    python学习之核心数据类型
    android 学习Layout布局的使用
    android学习SeekBar的使用
    android学习Gallery和ImageSwitch的使用
    android学习ScrollView的使用
    android学习ViewFlipper的使用
    C#怎么判断传入int值是否是枚举里面的值
  • 原文地址:https://www.cnblogs.com/lovetl/p/12738165.html
Copyright © 2020-2023  润新知