我在让我的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打开但是为空。只有选项卡中的标题是正确的(所以必须有一些正确的东西?)。故障可能在后端,我从中获取数据,但我不确定,因为我无法访问它。如果有必要,您还可以建议更好的格式从后端传输数据。
数据是否可能以原始形式呈现错误?
修改
当我使用邮递员执行请求时,它会正确显示文件,而不会执行任何操作
答案 0 :(得分:1)
我通过添加responseType =' arraybuffer'解决了这个问题。到请求配置。之后,这很有效。
const blob = new Blob([byteArray], {type: 'application/pdf'});
const blobURL = URL.createObjectURL(blob);
window.open(blobURL)