如何使用节点的其余客户端上传文件

我在节点上有一个REST客户端,我试图将一个file upload到另一个RESTnetworking服务器,它提供了parsing我的PDF和提取一些数据的能力。 基本上这是一项服务。 我使用的npm包是: https : //www.npmjs.com/package/node-rest-client 。 如果还有其他rest客户,我也可以使用这些客户。 我需要使用的其余API如下所述:

POST / ; Uploads a new PDF document via a form <br> POST /file ; Uploads a new PDF document via bytestream 

问题是如何上传文件。 另外,我想看看如何在另一端存储文件。

您可以使用npm模块请求上传文件。 这是一个工作的例子

 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); } }); 

你可以使用请求 。

有一个例子

 fs.createReadStream('file.pdf').pipe(request.post('http://example.com/file'))