【发布时间】:2017-10-29 17:32:19
【问题描述】:
我将 express.js 与 pdfkit 一起使用,尝试生成 pdf 并在网络浏览器中强制下载。
我定义了存储 pdf 的静态位置,但是当我想读取这个位置并下载文件时,什么也没有发生。我也尝试过设置标题,但这没有用。
我读到这可能与服务器和前端运行的端口有关。就我而言,它们是:4200(Angular)和 8080(Node.js)
这是服务器代码的片段:
var downl = doc.pipe(fs.createWriteStream('C:/Users/Martyna/Desktop/test pdfow/out.pdf') );
doc.end();
downl.on('finish', function() {
res.download('C:/Users/Martyna/Desktop/test pdfow/out.pdf', 'out.pdf');
})
【问题讨论】:
-
您是如何向客户提出请求的?您在浏览器开发工具的“网络”部分看到了什么:您看到请求了吗?您看到返回的响应了吗?
-
createAuthHeaders() { this.loadToken(); this.options = new RequestOptions({ headers: new Headers({ 'Content-Type': 'application/json', 'authorization': this.authToken }) }); } loadToken() { this.authToken = localStorage.getItem('token'); } testGetId(cv: Cv) { this.createAuthHeaders();返回 this.http.get(this.domain + '/konto-uzytkownika/' + cv.cvId, this.options); }
-
在我的开发工具中,我得到了正确的响应类型:“application/pdf”,即使我没有在服务器响应中设置它