1

私は現在、複数のファイルをWebサービスに送信しようとしています(その後の応答に応じて続行しますが、それはまだ私が行っているところではありません)。次のコードは、1 つのファイルを送信します。

 def show
   ...
   conn = Faraday.new(:url => 'webservice.abc' ) do |faraday|
     faraday.request :multipart
     faraday.adapter :net_http
   end
   payload = { :files => Faraday::UploadIO.new("#{Rails.root}/fileone.xml", 'application/xml') }
   conn.post 'http://webservice.abc', payload
   @output = response.body
end

Webサービスの目的はこれらを比較することであるため、一度に2つ(またはそれ以上)のファイルを送信する方法を見つけようとしています。それらを配列に入れると、それらを処理できないようです。だから私が探しているのは、後でそれらを投稿するためにファイルを「バンドル」する方法です(前に述べたように、1つのファイルで動作します)

あなたの時間のためにTYIA

4

1 に答える 1

0

ありがとうディーパック、

正しい方向へのヒントをくれました。:files[i] である必要がありますが、質問のペイロード行は次のようになります。

payload = { :files[0] => Faraday::UploadIO.new("#{Rails.root}/fileone.xml", 'application/xml'), 
            :files[1] => Faraday::UploadIO.new("#{Rails.root}/filetwo.xml", 'application/xml')}
于 2013-10-22T12:43:52.310 に答える