首页 > 解决方案 > 从八位字节流转换为 blob 后文件大小减少了很多

问题描述

后端向我发送 octet-stream 类型的 PDF 文件(字节数组)。在前端,我需要将此八位字节流转换为 Blob,用户应该能够下载此文件并在 Google Chrome 中打开此 PDF。

但是当我从后端收到文件时,我看到了以下文件参数:

{size: 4909, type: octet-stream}

将流转换为 Blob 后,我得到以下参数:

Blob(15): {size: 15, type: ""}

如您所见,大小减少了很多,当我尝试下载文件时,出现错误,文件损坏。

代码示例:

api.get("http://url-example").then(data => {
    // On this step: data = {size: 4909, type: octet-stream}
    let newBlob = new Blob([data]);
    // On this step: newBlob = Blob(15): {size: 15, type: ""}
    const objectUrl = window.URL.createObjectURL(newBlob);
}

标签: javascriptblob

解决方案


推荐阅读