从数组创建pdf Blob并查看它

时间:2016-07-01 14:04:58

标签: javascript pdf pdf-generation bytearray blob

我在让我的pdf出现时遇到了麻烦。我把文件数据作为字节数组。这就是我现在所拥有的:

    // data is originally String {0: % 1:P 2:D ...}
    const byteArray = _.map(data); // ["%", "P", "D", "F", "-", "1", ".", "4", "↵", ...]
    const blob = new Blob(byteArray, {type: 'application/pdf'});
    const blobURL = URL.createObjectURL(blob);
    window.open(blobURL),

当我记录它时,Blob会显示,并且它具有适当的长度。由于某种原因,pdf打开但是为空。只有选项卡中的标题是正确的(所以必须有一些正确的东西?)。故障可能在后端,我从中获取数据,但我不确定,因为我无法访问它。如果有必要,您还可以建议更好的格式从后端传输数据。

数据是否可能以原始形式呈现错误?

修改

当我使用邮递员执行请求时,它会正确显示文件,而不会执行任何操作

1 个答案:

答案 0 :(得分:1)

我通过添加responseType =' arraybuffer'解决了这个问题。到请求配置。之后,这很有效。

const blob = new Blob([byteArray], {type: 'application/pdf'});
const blobURL = URL.createObjectURL(blob);
window.open(blobURL)