2017-10-06 21 views
1

私はPUTリクエストを送信し、.potファイルをノードにaxiosを使用してアップロードするタスクを作成しています。cURLの--formのaxiosまたはajaxは何ですか?

私は

curl -i -u api:<api-key> -F [email protected]/file.pot https://api-link.com/v2/api 

を実行することができ、それが

var fd = require('form-data'); 
var axios = require('axios'); 
var form = new FormData(); 
form.append('file', 'dist/file.pot'); 
var header = { headers: Object.assign({}, apiToken(), form.getHeaders()) }; 

axios.put('https://api-link.com/v2/api/', form, header) 
    .then(function(res) { 
     console.log(res); 
    }) 
    .catch(function(err) { 
     console.log(err); 
    }) 

ノード

でこれをやって、私が試してみました

正常に動作します。これはcurlコマンドのように動作しません。 apiToken()は、curlコマンドの一部であるを処理する関数であり、{'Authorization': 'Basic <api-key>'}を返します。私は正常に取得要求を行うことができるので、関数が動作することを確認しました。

したがって、-F [email protected]/file.potはajaxまたはaxiosに相当しますか?

答えて

0

は以下溶液試し:

var options = { headers: Object.assign({'Content-Type': 'multipart/form-data'}, apiToken(), form.getHeaders()) };

axios.post('https://api-link.com/v2/api/', formData, options)

をContent-Typeヘッダがマルチパート/フォームデータか否かに設定されている場合もチェック。

+0

コンテンツタイプが設定されていますが、長さが必須であるという411ステータス応答が表示されます。 – dylanpark

+0

コンテンツ長の問題を取り除くためにこれを試してください。form.getLength(function(err、length){ var r = request.post( 'http://your-site.com'、{headers:{ [here](https://www.oracle.com)に記載されている問題に続いて、[content-length: //github.com/request/request/issues/316) –

関連する問題