我正在通过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文件呢? 谢谢
答案 0 :(得分:1)
尝试:
File.open("filepath", "wb") do |f|
f.write(params["file"].tempfile.read)
end