zoukankan      html  css  js  c++  java
  • 纯js实现文件下载并重命名功能

    纯js实现文件下载并重命名功能

    来源: https://www.cnblogs.com/vipzhou/p/10700130.html

    /**
     * 获取 blob
     * @param  {String} url 目标文件地址
     * @return {cb} 
     */
    function getBlob(url,cb) {
            var xhr = new XMLHttpRequest();
            xhr.open('GET', url, true);
            xhr.responseType = 'blob';
            xhr.onload = function() {
                    if (xhr.status === 200) {
                        cb(xhr.response);
                    }
            };
            xhr.send();
    }
    
    /**
     * 保存
     * @param  {Blob} blob     
     * @param  {String} filename 想要保存的文件名称
     */
    function saveAs(blob, filename) {
        if (window.navigator.msSaveOrOpenBlob) {
                navigator.msSaveBlob(blob, filename);
        } else {
                var link = document.createElement('a');
                var body = document.querySelector('body');
    
                link.href = window.URL.createObjectURL(blob);
                link.download = filename;
    
                // fix Firefox
                link.style.display = 'none';
                body.appendChild(link);
    
                link.click();
                body.removeChild(link);
    
                window.URL.revokeObjectURL(link.href);
        };
    }
    
    /**
     * 下载
     * @param  {String} url 目标文件地址
     * @param  {String} filename 想要保存的文件名称
     */
    function download(url, filename) {
        getBlob(url, function(blob) {
            saveAs(blob, filename);
        });
    };
    
    download('https://www.baidu.com/img/baidu_resultlogo@2.png', 'ab.png')
    
  • 相关阅读:
    54.施工方案第二季(最小生成树)
    53.FIB词链
    53.FIB词链
    53.FIB词链
    52.1076 排序
    52.1076 排序
    52.1076 排序
    52.1076 排序
    upc-9541 矩阵乘法 (矩阵分块)
    记录deepin设置自动代理
  • 原文地址:https://www.cnblogs.com/daysme/p/11479189.html
Copyright © 2011-2022 走看看