【问题标题】:RP - Posting formdata not passing correctly to serviceRP - 发布表单数据未正确传递给服务
【发布时间】:2020-06-05 19:40:55
【问题描述】:

我需要传递带有formdata的文件,用java编写的服务器应该收到如下

公共响应 uploadFileWithMetadata(ObjectMetadata objectMetadata, MultipartBody multipartBody) {}

下面是客户端代码,我正在传递它作为 objectMetadata 作为 null 发送,multipartBody 数组有 2 个值,一个带有文件,另一个带有 objectMetadata,服务不接受作为有效输入。在服务器端接收到的 ObjectMetadata 应该是 application/json,我在 formdata.xml 中设置了它。但这是作为文本/纯文本接收的,我怀疑这会导致问题

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); 
});

请检查并告知我是否在数据部分中遗漏了需要作为单独参数传递的内容

【问题讨论】:

    标签: node.js rest post request request-promise


    【解决方案1】:

    更改formData并添加标题解决了问题

            formData: {
                objectMetadata: {
                    value: inputToPass,
                    options: {              
                        contentType: 'application/json'             
                    }
                },
                file1: { 
                    value: fs.createReadStream('Node_drekar_setup.docx'),             
                    options: {                
                        contentType: 'multipart/form-data'             
                    }
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多