首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用节点的rest客户端上传文件

如何使用节点的rest客户端上传文件
EN

Stack Overflow用户
提问于 2015-07-01 07:54:14
回答 2查看 8.9K关注 0票数 19

我在节点上有一个REST客户端,我正在尝试将pdf文件上传到另一个REST pdf服务器,该服务器提供解析我的pdf并提取一些数据的能力。基本上,它是一种服务。我使用的npm包是:https://www.npmjs.com/package/node-rest-client。如果还有其他rest客户端,我也可以使用它们。我需要使用的rest api描述如下:

代码语言:javascript
复制
POST    /         ; Uploads a new PDF document via a form <br>
POST    /file     ; Uploads a new PDF document via bytestream

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

EN

回答 2

Stack Overflow用户

发布于 2015-07-10 22:03:48

您可以使用npm模块request上传文件。下面是一个有效的示例

代码语言:javascript
复制
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这样的模块。这是一个演示

代码语言:javascript
复制
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);
  }
});
票数 12
EN

Stack Overflow用户

发布于 2015-07-02 19:13:08

您可以使用request

有一个例子说明这一点

代码语言:javascript
复制
fs.createReadStream('file.pdf').pipe(request.post('http://example.com/file'))
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31150447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档