使用fetch发送文件和json数据

时间:2017-01-17 11:07:21

标签: javascript json reactjs redux fetch

我尝试使用带反应和redux的fetch将数据(文件和json)发送到服务器。

我的代码如下:

headers: {
      'Content-Type': 'application/json'
},
body: JSON.stringify(user)

用户数据如下:

enter image description here

因此,我有一个带json数据和文件(照片,文档)的大对象,但我无法将其发送到服务器。

有什么建议吗?

修改

添加

file

剩下的数据还可以,但对于我应该上传文件的文件,我只获得上传文件的空对象。如果文件未上传,则"files":[ {"file_type":"statutenFile","values":{"active":false,"fileName":"Articles of Association","file":null}}, {"file_type":"blankLetterheadFile","values":{"active":false,"fileName":"Blank letterhead","file":null}}, {"file_type":"companyPhotoFile","values":{"active":false,"fileName":"Company photo","file":null}}, {"file_type":"idCardFile","values":{"active":true,"fileName":"check","file":{}}} ] 的值应为空。

"file":{}

上传了最后一个 idCardFile ,但我得到{{1}}

1 个答案:

答案 0 :(得分:0)

您必须包含一个描述您要发送的数据的标头:JSON。并且您必须将此对象字符串化以将其发送到服务器:

export function saveUser(user){
  return function(dispatch){

  fetch(`${data.ROOT_URL}/save-user/`, {
      method: 'post',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(user)
  })
  ...
}