我目前正在尝试将多个文件发送到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 :(得分: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')}