我正在使用Express with Node。
我正在尝试发送PDF文件作为回复。
首先使用http.request()
从另一台服务器检索此PDF文件,之后我希望将其传递给响应。
也就是说,当浏览器请求路由“/PDF
时,我会执行以下操作:
app.get('/ PDF',function(req,res){ var options = { 主持人: 路径:路径, 方法:'GET', 标题:{} };
var requesting = http.request(options, function (response) {
var body = '';
response.setEncoding('utf8');
response.on('data', function (chunk) {
body += chunk;
});
response.on('end', function () {
var data = null;
if (body) {
try {
data = JSON.parse(body);
}
catch (err) {
data = body;
}
}
res.sendfile(data);
});
});
requesting.end();
});
但是,res.sendfile(data)
:
Error: Bad Request
at SendStream.error (redacted/send.js:145:16)
at SendStream.pipe (redacted/send.js:298:31)
at ServerResponse.res.sendfile (redacted/response.js:339:8)
at IncomingMessage.<anonymous> (redacted/api.js:289:17)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:920:16
at process._tickCallback (node.js:415:13)
如何将HTTP GET请求正文(内容类型为“application / pdf”)传递给浏览器?