如何在 react-native 中使用 fetch 发布 multipart/formdata?

新手上路,请多包涵

参考图片:邮递员表格

我想发布这样的表单数据。

我应该为发送图像文件数据做些什么准备?

我有 Uri、类型、文件名、大小。

然后将使用 fetch 。

标题中的内容类型是“multipart/formdata”

谢谢你的帮助

原文由 jehee choi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 616
2 个回答

你应该有一个上传功能,它应该是这样的:

 upload(url, data) {
  let options = {
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    method: 'POST'
  };

  options.body = new FormData();
  for (let key in data) {
    options.body.append(key, data[key]);
  }

  return fetch(requestUrl, options)
      .then(response => {
        return response.json()
          .then(responseJson => {
            //You put some checks here
            return responseJson;
          });
      });
}

你这样称呼它,发送图像 blob 路径:

 this.upload('http://exampleurl.com/someApiCall', {
  file: {
    uri: image.path,
    type: image.mime,
    name: image.name,
  }
}).then(r => {
  //do something with `r`
});

原文由 Mikayel Saghyan 发布,翻译遵循 CC BY-SA 4.0 许可协议

您需要创建一个实例 FormData 并将其作为要获取的主体传递,如下所示:

 const data = new FormData()
data.append("something", something)

fetch(url, { method: 'POST', body: form })

原文由 Sam Pettersson 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题