gpt4 book ai didi

javascript - 另存为 blob 需要很长时间才能从给定的 url 下载文件

转载 作者:行者123 更新时间:2023-11-27 23:31:45 26 4
gpt4 key购买 nike

我编写了以下服务来保存给定 URL 中的文件。

(function() {
angular.module('SOME_APP')
.service("downloadService", downloadService);

function downloadService($http){

var downloadFileFromUrl = downloadFileFromUrl;

function downloadFileFromUrl(url){

if(!url.length){
//TO-DO handle the error
}

else{
//find the file name and extension, to save it as:
var fileName;
for(var i=url.length; i>=0; i--){
if(url[i]=='/'){
fileName=url.slice(i+1, url.length);
console.log(fileName);
break;
}
}
$http({
url: url,
method: "GET",
responseType: 'arraybuffer'
}).success(function (data) {
var blob = new Blob([data], {type: '*/*'});
saveAs(blob, fileName);
}).error(function (data) {
console.log(data);
//TO-DO error handling
});
}
}

return {
downloadFileFromUrl : downloadFileFromUrl
}
}
}());

当我调用该服务时,服务首先下载文件,下载完成后,它会在浏览器中显示下载(进度为100%)。我该如何让它正常工作? (在浏览器中启动下载,并逐渐显示进度)

最佳答案

我的目的是从给定的 URL 下载文件。我使用带有下载属性的 HTML5 anchor 标记实现它:

在index.html中:

               <a id='downloadTag' href="" download hidden></a>

正在使用中:

                document.getElementById("downloadTag").href=url;
document.getElementById("downloadTag").click();

这解决了我的问题。

关于javascript - 另存为 blob 需要很长时间才能从给定的 url 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34512548/

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