繁体   English   中英

在react-native中通过PUT方法上传文件

[英]Uploading file via PUT method in react-native

我正在尝试将文件(图像)从我的react-native应用程序上传到后端服务器。 RESTFUL后端服务器接受通过PUT方法在特定URL上发送文件。 我坚持反应原生试图找到通过PUT方法发送文件的正确方法。
我试图复制的行为
curl -X PUT -T "/path/to/file" "http://myputserver.com/puturl.tmp"

我发现XMLHttpRequest方法在浏览器上执行此操作但不能在react-native上工作。 有人经历过这个请帮忙!

使用React Native支持的fetch api 以下是官方文档的示例。

根据规范 ,Fetch支持PUT

fetch('https://mywebsite.com/endpoint/', {
  method: 'PUT',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    firstParam: 'yourValue',
    secondParam: 'yourOtherValue',
  })
})

您可以像上面的答案一样使用PUT。 您可能错过了'Content-Type':'multipart / form-data;'。

 const config = {
     method: 'PUT',
     headers: {
       'Accept': 'application/json',
       'Content-Type': 'multipart/form-data;',
       'Authorization': 'Bearer ' + 'SECRET_OAUTH2_TOKEN_IF_AUTH',
     },
     body: data,
    }

此博客文章中的更多信息: http//snowball.digital/Blog/Uploading-Images-in-React-Native

fetch('https://mywebsite.com/endpoint/', {
  method: 'PUT',
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    firstParam: 'yourValue',
    secondParam: 'yourOtherValue',
  }),
})
.then((response) => response.json())
.then((responseJson) => {
   alert(responseJson)
})
.catch((error) => {
 console.error(error)
})

参考
参考2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM