Nodejs发送multipart/form-data请求

Nodejs发送multipart/form-data请求,上传文件

    var FormData = require('form-data');
    var fs = require('fs');
    var http = require('http');
    var form = new FormData();
    form.append('file', fs.createReadStream("./filename.zip"));//'file'是服务器接受的key

    var headers = form.getHeaders();//这个不能少
    headers.Cookie = cookie;//自己的headers属性在这里追加

    var request = http.request({
      method: 'post',
      host: 'ice97.cn',
      path: '/uploadFile/',
      headers: headers
    },function(res:any){
      var str='';
      res.on('data',function(buffer:any){
        str+=buffer;//用字符串拼接
      }
      );
      res.on('end',()=>{
        var result = JSON.parse(str);
        //上传之后result就是返回的结果
      });
    });
    form.pipe(request);

由于nodejs大多数都是写接受表单请求的,所以很少的资料用nodejs作为客户端去上传文件。试了needle这个库,但是没成功,上面这个方法是成功的。希望对大家有帮助!
参考文章:
form-data
nodejs之http.request 网页抓取数据

你可能感兴趣的:(node)