2013-07-31 5 views
0

В настоящее время я пытаюсь отправить несколько файлов в веб-сервис (и продолжить, в зависимости от ответа после этого, но это еще не я). Следующий код посылает один файл:Отправить несколько файлов в webservice

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 (или более) файлов одновременно, что является необходимым, поскольку целью WebService является сравнение эти. Похоже, что когда я помещаю их в массив, с ними нельзя справиться. Так что я ищу это путь к «пакет» файлы для того, чтобы получить возможность отправлять их впоследствии (как сказал перед- он работает с одним файлом)

TYIA за время

+0

Вы пробовали 'Полезная нагрузка = {: file1 => Фарадей :: UploadIO.new (" # {} Rails.root /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

 Смежные вопросы

  • Нет связанных вопросов^_^