2016-04-03 41 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