やりたいこと
CSVファイルを受け付けて加工するAPIサーバを自作しました。以下の様なcurlコマンドを実行するとファイルを受け付けて処理してくれます。
このAPIをnode.jsのrequestモジュールでコールしたいです
curl -F "myFile=@sample.csv" -F "apikey=key" -F "user=testuser" "https://example.com/api/csv/import"
やってみたこと
以下のようなnode.jsを作成しましたが上手くファイルをPOSTする事ができずエラーとなってしまいます。
var request = require('request'); var fs = require('fs'); var msg = { 'apikey' : apiKey, 'user' : user, 'myFile' : fs.createReadStream('./sample.csv') }; var options = { url: 'https://example.com/api/csv/import', headers: { 'Content-Type': 'multipart/form-data' }, json: true, body: msg, timeout: 180000 //milliseconds }; request.post(options, function(err, response, body) { if(err){ console.log(err) }else{ console.log(body) }; });
発生したエラー
APIサーバ側で以下のエラーを検知しています。たぶんnode.jsのリクエストの指定方法が悪くエラーが出ていると考えております
"Error: Multipart: Boundary not found"
requestモジュールを使ってローカルにあるファイルを別サーバのPOSTする場合はどの様に設定を行いPOSTすれば宜しいでしょうか
回答2件
あなたの回答
tips
プレビュー