【问题标题】:Angular 10 - Download file from ByteArray dataAngular 10 - 从 ByteArray 数据下载文件
【发布时间】:2019-11-26 05:30:35
【问题描述】:

我从我的服务器获得了一个带有文件内容的byte[] 文件。我知道名字和content-type。到目前为止,我已经尝试了以下方法来下载文件:

const a = document.createElement('a');
document.body.appendChild(a);
a.style.display = 'none';

const file = new Blob([content], {type: 'text/plain'});
const url = window.URL.createObjectURL(file);
a.href = url;
a.download = "test.txt";
a.click();
window.URL.revokeObjectURL(url);

但是这个解决方案只是下载一个包含二进制内容的文本文件。如何使用 JavaScript/Typescript 在客户端将二进制数据转换为对应的文件类型?谢谢!

【问题讨论】:

    标签: javascript angular typescript file download


    【解决方案1】:

    您可以使用file-saver

    import { saveAs } from 'file-saver';

    const file = new Blob([content], {type: 'text/plain'});
    FileSaver.saveAs(file, "test.txt");
    

    【讨论】:

      【解决方案2】:
      saveByteArray(bytes, type) {
        var blob = new Blob([bytes],{type:type});
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        link.download = "fileName";
        link.click();
      }
      

      【讨论】:

      • 请在您的答案中添加一些解释,以便其他人可以从中学习
      • A code-only answer is not high quality。虽然此代码可能很有用,但您可以通过说明其工作原理、工作方式、何时应该使用以及它的局限性来改进它。请edit您的回答包括解释和相关文档的链接。
      猜你喜欢
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 2012-04-05
      • 2019-01-11
      相关资源
      最近更新 更多