[英]Download Blob file ignores download attribute
我通過blob對象實現了下載,並且當內容大於10239個字符時,會忽略下載屬性,並且會得到類似“ 2b56fc37-9b0e-4f4c-b3f3-a28113605ea5.txt ”的文件名。 有人可以告訴我為什么嗎?
小提琴: https : //jsfiddle.net/h74wca11/4/
第一個按鈕創建一個具有10239'X'的文件,第二個按鈕創建一個具有10240'X'的文件。 第一個按鈕生成一個名為“ test.txt ”的文件,而第二個文件名是一個隨機名稱,如“ 8cd3dc83-b3fe-4e58-99b0-39a876107a2d.txt ”
我正在使用以下代碼:
function myFunction(count) {
content = '';
for (var i = 0; i < count; i++) {
content += 'X';
}
var file = new Blob([content], {
type: 'text/plain'
});
var fileURL = URL.createObjectURL(file);
var a = document.createElement('a');
a.href = fileURL;
a.target = '_blank';
a.download = 'test.txt';
document.body.appendChild(a);
a.click();
}
我在Windows 10上運行Chrome 54.0.2840.71 m(64位)
編輯
我只是用隱身方式嘗試了小提琴-它奏效了。 WTF
我不能發表評論(由於我的聲譽低下),所以我押注正確的答案。 在click()之后嘗試以下操作:
a.click();
setTimeout(function(){
document.body.removeChild(a);
window.URL.revokeObjectURL(fileURL);
}, 100);
您的代碼對我來說也可以正常工作,但是有時您需要延遲才能正常使用Blob。 我總是使用它,並且斑點問題幾乎消失了。 https://jsfiddle.net/h74wca11/6/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.