2016-04-03 23 views
4

反応ネイティブアプリからバックエンドサーバーにファイル(画像)をアップロードしようとしています。 RESTFULバックエンドサーバーは、特定のURL上のPUTメソッド経由のファイル送信を受け入れます。私は反応ネイティブでPUTメソッド経由でファイルを送信する適切な方法を見つけようとしています。
は、私は、ブラウザ上でこれを行うのXMLHttpRequest methodを見つけ
curl -X PUT -T "/path/to/file" "http://myputserver.com/puturl.tmp"

の振る舞いを再現しようとしていますが、反応し、ネイティブに動作しません。誰か助けてください!反応ネイティブでPUTメソッドを使用してファイルをアップロードする

答えて

1

が反応ネイティブでサポートされてfetch apiを、使用

を取得します。 以下はofficial documentationの例です。

フェッチサポートPUTspecsに従います。

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

関連する問題