2013-07-31 42 views
0

我目前正試圖發送多個文件到一個web服務(並繼續,這取決於之後的響應,但這不是我在那裏)。 下面的代碼發送一個文件:發送多個文件到一個web服務

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 

現在我卡住了,試圖找到一種方式來發送2(或更多)文件一次,這是必要的,因爲Web服務的目的是比較這些。看來,當我把它們放入一個數組中時,它們不能被處理。 所以我正在尋找的是爲了以後張貼他們(如說在─它有一個文件工作)

TYIA您的時間

+0

您是否嘗試過'payload = {:file1 =/fileone.xml「,'application/xml'),:file2 => Faraday :: UploadIO.new(」#{Rails.root} /filetwo.xml「,'application/xml')}' –

回答

0

感謝迪帕克,

以「捆綁」的文件的方式

給了我一個正確的方向暗示。應該是:文件[i],但是 - 因此,從問題的有效載荷行:

payload = { :files[0] => Faraday::UploadIO.new("#{Rails.root}/fileone.xml", 'application/xml'), 
      :files[1] => Faraday::UploadIO.new("#{Rails.root}/filetwo.xml", 'application/xml')} 
+0

請編輯答案獨立而不是對另一評論發表評論。 – laalto

相關問題