multiparty一直说'文件'是未定义的

时间:2015-01-17 16:52:12

标签: node.js rest multipartform-data postman

我刚刚找到了这个模块:https://www.npmjs.com/package/multiparty

并尝试使用邮递员在我的nodejs项目中测试此函数:

app.post('/upload/image', function(req, res) {
 var form = new multiparty.Form();
  form.parse(req, function(err, fields, files) {
  res.writeHead(200, {'content-type': 'text/plain'});
  res.write('received upload:\n\n');
  res.end(util.inspect({fields: fields, files: files}));
 });
});

我已尝试过以下邮递员POST请求:

Headers: Content-type:image/jpeg 
Type: form-data - and then I choose a jpeg file

但我一直得到这样的回应:

received upload:{ fields: undefined, files: undefined }

当我想将图像文件发送到REST API时,这是正确的方法吗?

2 个答案:

答案 0 :(得分:2)

我发现邮递员发送了一个包含该文件的数组,并且它在一个对象中,并带有你给文件的密钥的名称,所以如果你使用postman,你需要说:files。&# 34; thekeyyougivethefileinpostman" [0]

答案 1 :(得分:0)

那是错误的Content-Typemultiparty仅支持multipart/form-data格式化的请求。将Content-Typemultipart/form-data更改回image/jpeg,它应该有效。