我刚刚找到了这个模块: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时,这是正确的方法吗?
答案 0 :(得分:2)
我发现邮递员发送了一个包含该文件的数组,并且它在一个对象中,并带有你给文件的密钥的名称,所以如果你使用postman,你需要说:files。&# 34; thekeyyougivethefileinpostman" [0]
答案 1 :(得分:0)
那是错误的Content-Type
。 multiparty
仅支持multipart/form-data
格式化的请求。将Content-Type
从multipart/form-data
更改回image/jpeg
,它应该有效。