JS文件上传和下载(不依赖服务器)

今天来了需求

 

用户上传附件后,想要下载。 但是附件尚未被保存至服务器。  奇葩的需求,本地明明有,还想下载。既然如此

答案如下

 

这里的content 可以理解为 使用input[file] 读取的文件的 files/fileList的一个元素, 如果这个元素在浏览器显示有 当前时间属性,应该就是它了

 

var download_csv_using_blob = function (file_name, content) {
    var csvData = new Blob([content], { type: 'text/csv' });
    // for IE
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
        window.navigator.msSaveOrOpenBlob(csvData, file_name);
    }
    // for Non-IE (chrome, firefox etc.)
    else {
        var a = document.createElement('a');
        document.body.appendChild(a);
        a.style = 'display: none';
        var url = window.URL.createObjectURL(csvData);
        a.href =  url;
        a.download = file_name;
        a.click();
        a.remove();
        window.URL.revokeObjectURL(url);
    }
};

 

posted @ 2021-08-27 14:32  姓蜀名黍  阅读(299)  评论(0编辑  收藏  举报