2016-04-03 82 views
4

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

行为,我发现在浏览器这样的XMLHttpRequest method但不会对反应本地工作。有任何人通过这个请帮助!通过反应原生PUT方法上传文件

回答

1

使用fetch api,由作出反应本地支持。 以下是official documentation的示例。

根据specs,提取支持PUT

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

您所提供的例子是POST的。我期待PUT方法的例子。我已经通过规格,并知道获取支持PUT。 – Susth

0

您可以像上面的答案一样使用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