我有一個節點服務,它從API中提取pdf並提供該pdf。Node.js:服務動態pdf,即將上市
當我捲曲或直接打開API時,我確實看到了正確的pdf。
但是,當我從我的Node應用程序提供它時,我得到一個空的pdf。
這裏是我的代碼,做pdf渲染的部分。
} else if (options.type === 'pdf') {
res.writeHead(200, {'content-type' : 'application/pdf', 'content-disposition': 'attachment; filename=invoice.pdf'});
res.end(data.invoice);
我已經console.log'ed data.invoice知道這是正確的東西。
typeof(data.invoice)給出字符串;但我也試過res.end(new Buffer(data.invoice));哪個也沒用。
這裏是我的代碼,獲取數據
var http_options = {
method : options.method
, host : Config.API.host
, path : options.path
, port : Config.API.port
, headers : options.headers
};
var req = http.request(http_options, function (response) {
var raw_response = "";
response.on('data', function (response_data) {
raw_response += response_data.toString();
});
response.on('end', function() {
if (response.statusCode !== 200) {
cb(raw_response);
} else {
cb(false, raw_response);
}
});
});
req.setTimeout(timeout, function() {
req.abort();
cb("API connection timed out");
});
req.on('error', function (error) {
cb("API error while requesting for " + options.path + '\n' + error + '\n' + "http options: " + JSON.stringify(http_options)
});
req.end();
您是否嘗試過在Content-Type上使用大寫字母?因爲你寫了小寫「c」和「t」 –
剛試過,沒有工作 – Max