我需要传递带有formdata的文件,并且用Java编写的服务器应收到以下信息
公共响应uploadFileWithMetadata(ObjectMetadata objectMetadata,MultipartBody multipartBody){}
以下是客户端代码,我正在传递,它作为objectMetadata发送为null,并且multipartBody数组具有2个值,一个带有文件,另一个带有objectMetadata,并且不被服务接受为有效输入。在服务器端收到的ObjectMetadata应该是application / json,我在formdata中设置了它。但这是以文本/纯文本形式接收的,我怀疑这是造成问题的原因
var options = {
method: 'POST',
uri: url,
formData: {
objectMetadata: {value: JSON.stringify(inputToPass),options:{'Content-Type': 'application/json'}},
file1: fs.createReadStream('/Users/mohansee/Desktop/Node_drekar_setup.docx')
}
};
rp(options)
.then(function (body) {
console.log('inside success'); console.log(body)
}) .catch(function (err) {
console.log('inside error');
console.log(err);
});
请检查并告知我是否缺少数据部分中需要作为单独参数传递的内容
formData: {
objectMetadata: {
value: inputToPass,
options: {
contentType: 'application/json'
}
},
file1: {
value: fs.createReadStream('Node_drekar_setup.docx'),
options: {
contentType: 'multipart/form-data'
}
}
}