gpt4 book ai didi

javascript - 使用 Javascript 下载文件/url

转载 作者:行者123 更新时间:2023-11-30 17:14:40 25 4
gpt4 key购买 nike

我正在尝试通过创建链接并单击它来使用 javascript 自动下载文件。这行得通,但使用下载属性来指定文件的名称不起作用。

我使用下面的代码

var a = document.createElement("a")
a.download = "hellooo.png"
a.href = "http://icons.iconarchive.com/icons/yellowicon/game-stars/256/Mario-icon.png";
a.click();

有没有办法让它工作?

最佳答案

这是我使用 XMLHttpRequest 的代码,在 IE10+、firefox 和 Chrome 中测试

function download(url, fileName) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';

xhr.onprogress = function(event) {
if (event.lengthComputable) {
var percentComplete = (event.loaded / event.total)*100;
//yourShowProgressFunction(percentComplete);
}
};

xhr.onload = function(event) {
if (this.status == 200) {
_saveBlob(this.response, fileName);
}
else {
//yourErrorFunction()
}
};

xhr.onerror = function(event){
//yourErrorFunction()
};

xhr.send();
}


function _saveBlob(response, fileName) {
if(navigator.msSaveBlob){
//OK for IE10+
navigator.msSaveBlob(response, fileName);
}
else{
_html5Saver(response, fileName);
}
}

function _html5Saver(blob , fileName) {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
document.body.removeChild(a);
}

关于javascript - 使用 Javascript 下载文件/url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26337344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com