【问题标题】:Send multiple files to a webservice将多个文件发送到 Web 服务
【发布时间】:2013-07-31 15:43:25
【问题描述】:

我目前正在尝试将多个文件发送到一个网络服务(并继续,取决于之后的响应,但这还不是我现在的位置)。 以下代码发送一个文件:

 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 给你的时间

【问题讨论】:

  • 你试过payload = { :file1 => Faraday::UploadIO.new("#{Rails.root}/fileone.xml", 'application/xml'), :file2 => Faraday::UploadIO.new("#{Rails.root}/filetwo.xml", 'application/xml') }

标签: ruby-on-rails http file-upload faraday


【解决方案1】:

感谢迪帕克,

给了我正确方向的提示。应该是: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')}

【讨论】:

  • 请将答案编辑为独立的,而不是对另一条评论的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多