我的问题: 我从API请求中收到应该是.xls文件的文件。退货以十六进制表示,目前我根本无法使用它。向我指出正确方向的任何帮助将不胜感激。
工艺细节: 我正在使用API调用生成,然后从供应商处提取报告。此报告仅将.xls和.pdf作为返回选项(与其他提供.csv和.rtf的报告不同)。当我收到报告时,它是由十六进制组成的极长字符串的形式。
测试: 我已经使用返回的字符串玩了很长时间,研究了Google和stackoverflow。我敢肯定,我问题的很大一部分是我无法准确弄清楚我在寻找什么。
我取得的唯一进展是对我的报告运行了每个循环,并返回了一些基本信息。这是我的API调用和返回的一个很小的示例:
new_report = HTTParty.get("#{api_url}/Report/Queue/78970298/Content", :headers => headers)
"\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
除此以外,我尝试过的所有操作均未返回任何结果:
new_report.each do |line|
puts line
end
transfer-encoding
content-type
content-disposition
date
connection
=> {"transfer-encoding"=>["chunked"], "content-type"=>["application/vnd.ms-excel"], "content-disposition"=>["attachment; filename=Report.xls"], "date"=> ["Tue, 11 Dec 2018 17:06:26 GMT"], "connection"=>["close"]}