我在节点上有一个REST客户端,我正在尝试将pdf文件上传到另一个REST网络服务器,它提供了解析我的PDF并提取一些数据的能力。基本上它是一种服务。我使用的npm包是:https://www.npmjs.com/package/node-rest-client。如果还有其他休息客户,我也可以使用它们。我需要使用的其余API如下所述:
POST / ; Uploads a new PDF document via a form <br>
POST /file ; Uploads a new PDF document via bytestream
问题是如何上传文件。另外,我想看看如何在另一端存储文件。
答案 0 :(得分:11)
您可以使用npm模块request上传文件。 这是一个工作示例
var request = require('request');
var fs = require('fs');
request({
method: 'PUT',
preambleCRLF: true,
postambleCRLF: true,
uri: 'http://yourdomain/file',
multipart: [
{
'content-type': 'application/pdf',
body: fs.createReadStream('image.png')
}
]
},
function (error, response, body) {
if (error) {
return console.error('upload failed:', error);
}
console.log('Upload successful! Server responded with:', body);
});
要在服务器端接收节点,您可以使用busboy等模块。这是
的演示var busboy = require('connect-busboy');
app.use(busboy());
app.use(function(req, res) {
if (req.busboy) {
req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
// move your file etc
});
req.pipe(req.busboy);
}
});
答案 1 :(得分:4)
您可以使用request。
有一个例子
var foo;
function loopingFunction(){
if(typeof(foo)=="undefined"){
foo = 0;
}
if(!foo){
// some codes here
}
foo++;
}