无法在fetch()POST请求中包含文件

时间:2016-02-09 16:28:55

标签: javascript post fetch

出于某种原因,我无法通过fetch将文件传输工作。我的代码非常简单:

export function updateProfilePicture(apiKey, userID, picture) {
  let data = new FormData();
  data.append('picture', picture);
  return fetch(`${API_URL}/v1/${ROOT}/update_profile_picture/${userID}`,{
    headers: {'Authorization': `Token token=${apiKey}`},
    method: 'POST',
    data: data
  }).then(response => response.json());
}

但是,生成的请求似乎不包含任何文件。我错过了什么吗?在上面的示例中,图片是File

的实例a

1 个答案:

答案 0 :(得分:1)

可能有两个原因:

    Fetch API中的
  1. data字段称为body。使用此代替data属性。
  2. (可选)您需要添加另一个标头:'Content-Type', 'multipart/form-data'
  3. 详细了解Fetch API: