网页(正面)正在调用发送PDF流作为响应的服务: 这是前面的代码:
'click .btn': function (event) {
/.../
event.preventDefault();
Http.call(params, (err, res) => { // callback
if (err) console.log(err); // nothing
console.log({ res }); // print below result
const blob = new Blob(
[res.content],
{ type: `${res.headers['content-type']};base64` }
);
saveAs(blob, res.headers['content-disposition'].slice(21));
});
}
以下是来自服务器的响应(console.log(res)):在控制台中打印的{res:Object}。
content: "%PDF-1.4↵1 0 obj↵<<↵/Title (��)↵/Creator (��)↵/Prod ..... lot of characters....%"
data: null,
statusCode: 200,
headers: {
connection: "close",
content-disposition: "attachment; filename=myDoc.pdf"
content-type: "application/pdf",
date: "date",
transfer-encoding: "chunked",
x-powered-by: "Express"
}
然而,下载的PDF没有任何内容,它是完整的空白,如损坏(但我可以看到字符串中的内容)。它适用于CSV路由(我将csv作为流发送并使用相同的方法下载并获取数据)。
我认为有一些格式为%PDF ...%但是我找不到东西。 注意:对于邮递员,它可以工作,我的PDF保存,页面不是空白,我得到了数据。所以前面有些东西我做得不对。 我也尝试过:
const fileURL = URL.createObjectURL(blob);
window.open(fileURL); // instead of saveAs
但结果是相同的(但在另一个标签而不是保存的PDF)空白页。 有任何想法吗 ?