【问题标题】:How to write received zip file content using ruby on rails如何使用 ruby​​ on rails 写入收到的 zip 文件内容
【发布时间】: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


    【解决方案1】:

    试试:

    File.open("filepath", "wb") do |f|
     f.write(params["file"].tempfile.read)
    end
    

    【讨论】:

    • 非常感谢,你就是那个:)
    猜你喜欢
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    相关资源
    最近更新 更多