【发布时间】:2014-12-21 23:16:33
【问题描述】:
我正在通过 rails 应用程序从磁盘读取一些 zip 文件并将其发送到另一个 rails 应用程序,因此在接收方的 params["file"] 的值为
#<ActionDispatch::Http::UploadedFile:0x00000008d66bb0
@content_type="application/zip",
@headers=
"Content-Disposition: form-data; name=\"file\"; filename=\"test.zip\"\r\nContent-Length: 2706\r\nContent-Type: application/zip\r\nContent-Transfer-Encoding: binary\r\n",
@original_filename="test.zip",
@tempfile=#<File:/tmp/RackMultipart20141221-3194-1cq6k5b>>
我想把这个压缩文件下载到接收器磁盘,所以我想我需要读取它的数据并写入它,所以我做了以下操作:
File.open("filepath", "w") do |f|
f.write(params["file"].tempfile.read)
end
但是我收到错误消息
Encoding::UndefinedConversionError ("\xF4" from ASCII-8BIT to UTF-8)
我尝试了几种解决这个编码问题的方法,但都是徒劳的。
那么我怎样才能下载收到的 zip 文件呢? 谢谢
【问题讨论】:
标签: ruby-on-rails ruby encoding zip