【问题标题】:Unable to convert the base64 data to file using jszip in javascript无法在 javascript 中使用 jszip 将 base64 数据转换为文件
【发布时间】:2019-08-28 17:49:12
【问题描述】:

我有一个通过 api 传来的 base64 数据,它是一个 tar 文件,我正在尝试使用 jszip 下载,但出现错误

Uncaught (in promise) Error: Can't read the data of <base64 code>

下面是我的代码

let bs = <somebase64code>
     let zip = new JSZip();


     zip.file(bs,{base64:true})

    zip.generateAsync({ type: "blob" }).then(function (content) {
      saveAs(content, "example");
    });

由于base64代码很大,我没有附上它

【问题讨论】:

    标签: javascript jszip


    【解决方案1】:

    jszip 不处理 tar 文件
    tar 和 zip 格式不同
    您需要在 api 中使用其他一些库或使用 zip 代替

    同样不要使用 base64,它的大小会大 ~3x ~33%。

    【讨论】:

    • 不是 3 倍,只有 33%。但是,不要使用 base64。
    • @brad 好的,那么最好的方法是什么,是否有任何用于处理 tar 文件的库?
    • @Endless 是否有任何用于处理 tar 文件的库,而不是 base 64,哪种方法更好?
    • @Dexter 许多。 npmjs.com/search?q=tar&ranking=maintenance 而不是处理 base64,而是使用常规二进制数据。您应该就此向 API 提供者唠叨。
    猜你喜欢
    • 2013-06-02
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 2016-07-16
    • 2016-11-07
    • 2012-06-14
    • 1970-01-01
    • 2017-01-29
    相关资源
    最近更新 更多