如何在nodejs中使用zip文件进行http put请求

时间:2015-04-09 10:50:40

标签: node.js http-request

我想将带有zip文件的http PUT请求以二进制形式发送到web api并获取带有http状态代码的响应。

如何读取文件并将其与二进制文件一起使用?

感谢您的帮助!!

3 个答案:

答案 0 :(得分:5)

你可以从这开始:

var http = require('http');
var fs   = require('fs');

var req = http.request({
  hostname : HOSTNAME,
  port     : PORT,
  path     : UPLOAD_PATH,
  method   : 'PUT',
});

fs.createReadStream('somefile.zip').pipe(req);

您可能需要执行其他一些操作,例如正确的错误处理,设置Content-Type标头等。

答案 1 :(得分:4)

使用request-promise(基于bluebird)

const fs = require('fs');
const request = require('request-promise');

const options = {
    method: 'PUT',
    url: 'dest url',
    qs: {key: 'value'}, // optional 
    headers: {
        'content-type': 'application/octet-stream'
    }
};

fs.createReadStream(zipFilePath).pipe(request(options)).then(body =>{
        console.log(body);
    })
    .catch(err => {
        console.log(err);
    });

答案 2 :(得分:1)

检查answer

唯一的区别是,您使用.put()代替.post()