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

Posted daysme

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯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‘)
?

以上是关于纯js实现文件下载并重命名功能的主要内容,如果未能解决你的问题,请参考以下文章

js多文件下载和多文件分文件夹打包下载并重命名

bat脚本照片复制重命名?

怎样用asp实现,下载指定网址文件,并重命名后保存到本地服务器上?

Windows批处理脚本实现批量复制文件并重命名

vbs拷贝指定文件并重命名

shell定时下载ftp文件并重命名放到指定文件夹