【问题标题】:Use fetch to post a blob in react-native使用 fetch 在 react-native 中发布 blob
【发布时间】:2016-06-17 04:38:58
【问题描述】:

我正在尝试发布一个 blob。这绝对是一团。不过,这不适用于 react-native。我得到一个红色屏幕,上面写着“PUT 必须有一个请求正文”。好吧,我已将 blob 放入请求正文中。

createAttachment: function(url, blob) {
  var settings = {
    method: "PUT",
    headers: {
      'Accept': 'image/jpeg',
      'Content-Type': 'image/jpeg',
      'If-Match': '*',
    },
    body: blob
  };
  return fetch(url, settings)
}

【问题讨论】:

  • 你确定你的意思不是 POST 而不是 PUT?
  • 不管怎样我都会得到同样的错误“POST must have a request body”
  • 实际上 POST 给出了不同的错误:“创建 JSON 字符串的异常:null”
  • Here 似乎获取的 blob 数据没有像字符串那样被编组或映射到跨桥的 js 内存。任何解决方法的想法?
  • 有没有人有一个可行的例子?我什至在努力创建 Blob 对象。

标签: android blob react-native fetch


【解决方案1】:

我的项目之前也遇到过同样的问题,根据this issue 可能,目前反应原生fetch API 不支持blob数据(发送和接收)。

所以我自己做了一个模块..

https://github.com/wkh237/react-native-fetch-blob

它在我们的项目中运行良好,如果您不介意看一下,它可能会有所帮助。

【讨论】:

【解决方案2】:

【讨论】:

  • 如何使用这个包从二进制数据创建一个 blob?
  • @Tarun 链接中的方法只需要 base64 并通过 http 发送。您可以谷歌如何使用js工具将您的数据转换为适当的格式
猜你喜欢
  • 2021-06-30
  • 2018-09-12
  • 2018-11-24
  • 2017-11-22
  • 1970-01-01
  • 2019-02-12
  • 2019-12-03
  • 2020-05-01
  • 1970-01-01
相关资源
最近更新 更多