在HTTParty响应中访问文件名?

时间:2016-10-18 22:35:33

标签: ruby-on-rails ruby httparty

我正在尝试解析来自在Ruby应用程序中具有内容类型text / csv的api的响应。我正在使用HTTParty库发出请求。我知道文件名通常存储在Content-Disposition下的响应头中,但HTTParty似乎没有正确解析这个特定的头。

我对修复的最佳尝试如下:

csv_response = HTTParty.get('service.com/csv')
content_disposition = CGI::parse(catalog_response.headers['Content-Disposition'])

这就是我被卡住的地方,因为CGI解析返回一个散列,其中包含一个前导空格的文件名对象和文件名周围的转义引号,如:

{' filename' => '\"file.csv\"'}

我是否正确解析了响应?有没有更合理的方法来使用HTTParty访问文件名?

1 个答案:

答案 0 :(得分:0)

您不想要文件名。您可以改用 CSV.parse。

csv_response = HTTParty.get('service.com/csv')
CSV.parse(csv_response.body, headers: true) do |row|
  # do something
end

如果您的 CSV 没有标题行,请删除 headers: true