【发布时间】:2019-01-18 00:54:05
【问题描述】:
服务器端
我试图从NodeJs发送文件
/**
* Exports data to PDF format route.
*/
app.post('/export/pdf', upload.single('imageBlob'), function (request, response) {
var PDF = require('./services/PdfService').PDF;
var fileUrl = PDF.generatePDFExport(request.body, request.file.buffer);
setTimeout(() => {
response.sendFile(fileUrl);
}, 200);
});
这段代码创建了一个有效的 pdf 文件(我可以在浏览器 URL 命中文件中打开它)
但是某些浏览器隐藏了弹出窗口,我想下载文件而不是打开它。
我检查客户端的响应,这是一些BLOB 的响应。
客户端
我尝试从响应中创建一个文件,但只有一个空的 pdf 文件。
return axios.post('http://172.18.0.2:8001/export/pdf', formData).then(response => {
let blob = new Blob([response.data]);
FileSaver.saveAs(blob, "st-seatmap-shop.pdf");
})
这里有什么错误?在服务器端发送文件还是在客户端保存文件?
【问题讨论】:
标签: javascript node.js reactjs pdf axios