簡體   English   中英

下載Blob文件忽略下載屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM