我正在尝试使用客户端从我的快速服务器发送pdf文件,如下所示:
res.setHeader('Content-Type', 'application/pdf');
res.setHeader('Content-Disposition', 'attachment; filename=test.pdf');
fs.createReadStream('test.pdf').pipe(res);
然后在客户端,我试图通过将结果字符串转换为URL并从那里下载来下载它。
var blob = new Blob[pdfString], { type: 'application/pdf' });
var url = window.URL;
var downloadUrl = url.createObjectURL(blob);
然而,生成的文件是两个空页面,我相信它可能是因为生成的文件是url是为了大?如果有人能弄明白这里有什么问题,或者告诉我一个更好的方法,那将是非常棒的。
答案 0 :(得分:0)
我能够使用XMlHttpRequest来解决这个问题:
var req = new XMLHttpRequest();
req.open('GET', path , true);
req.responseType = "arraybuffer";
req.onload = (event) => {
downloadPdf(req.response); //This is where I convert to blob
}
req.send();