首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下载Blob文件忽略下载属性。

下载Blob文件忽略下载属性。
EN

Stack Overflow用户
提问于 2016-11-03 15:49:56
回答 1查看 633关注 0票数 0

我通过blob对象实现了下载,当内容大于10239字符时,下载属性将被忽略,文件名为'2b56fc37-9b0e-4f4c-b3f3-a28113605ea5.txt‘。有人能告诉我为什么吗?

小提琴:https://jsfiddle.net/h74wca11/4/

第一个按钮创建一个10239 'X‘的文件,第二个按钮创建一个10240 'X’的文件。第一个按钮生成一个名为“test.txt”的文件,而第二个文件名是arandom名称,如'8cd3dc83-b3fe-4e58-99b0-39a876107a2d.txt‘。

我使用以下代码:

代码语言:javascript
复制
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米(64位)

编辑

我只是用伪装的方式试了一下我的小提琴--而且起作用了。WTF

EN

回答 1

Stack Overflow用户

发布于 2016-11-03 21:00:54

我不能发表评论(因为我的名声很低),所以我打赌答案是正确的。在click()之后尝试这样做:

代码语言:javascript
复制
a.click();
setTimeout(function(){
    document.body.removeChild(a);
    window.URL.revokeObjectURL(fileURL);  
}, 100);

您的代码对我也很好,但有时您需要延迟才能与blobs一起工作。我总是用这个,所有的问题(几乎)都会消失。https://jsfiddle.net/h74wca11/6/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40405918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档