前端实现下载(导出文件)

后台管理系统里可能会有导出表格,下载表格,下载压缩包等这样的需求
(1)最简单的是通过a标签结合blob实现下载,(下载文件)
<--!但是其中的download对应音频文件和视频文件无效-->

image.png

 if (window.navigator.msSaveBlob) {
        try {
            window.navigator.msSaveBlob(url, downloadFileName);
        }
        catch (e) {
            console.log(e);
        }
    }
    //
————————————————处理ie兼容问题

<a ref="link" style="display:none"/>
        let blob = new Blob([res.data]);
        let temp = URL.createObjectURL(blob); // 创建下载的链接
        this.$refs.downloadPlugin.href = temp;
        this.$refs.downloadPlugin.download = this.fileName; // 下载后文件名
        this.$refs.downloadPlugin.click(); // 点击下载
        URL.revokeObjectURL(temp); // 释放掉blob对象

有文件地址的话,<a href="/user/test/xxxx.txt" download="文件名.txt">点击下载</a>
(2)window.open()方法,后端提供下载接口(下载图片,压缩好的rar)
window.open("url")

 /** "查看图片" -- 点击下载 */
    checkImg__download() {
       PackageImgs =  Object.values(this.arr).map(item => item.imgPath)
       let params = "?PackageImgs[]=" + PackageImgs.join("&PackageImgs[]=");
       window.open(   `${serverURL.API_URL}/api/trailer/orders/containers/${params
     }&sso_token=${window.$getToken()}`
      );
    },
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。