【问题标题】:Rails Ziping files - reading binary dataRails Ziping 文件 - 读取二进制数据
【发布时间】:2012-05-03 19:44:46
【问题描述】:

我正在使用rubyzip 库来压缩文件。
但是我遇到了问题。
我试试:

    Zip::ZipOutputStream.open('c:/sites/efiling2/test.zip') do |zos|
        zos.put_next_entry("test.rtf")
        zos.write IO.read('c:/sites/efiling2/test.rtf')
        zos.put_next_entry("test.jpg")
        zos.write IO.read('c:/sites/efiling2/test.jpg')
    end

但是 write 方法限制了原始文件的大小。例如,我的源文件 test.jpg 的大小为 11913 字节,但存档中有一个文件 test.jpg 的大小为 11551 字节。与 test.rtf 有相同的情况。

有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails ruby zip binaryfiles


    【解决方案1】:

    我怀疑您的问题可能是IO.read()。我不太确定它是否正确处理二进制数据。

    我会试试这个,看看它是否能解决问题:

    File.open(filename, "rb") { |f| f.read }
    

    【讨论】:

    • 非常感谢。我花了很多时间尝试各个角度来弄清楚为什么我的图像丢失了,而您的解决方案解决了我的问题!
    猜你喜欢
    • 1970-01-01
    • 2015-06-27
    • 2015-04-23
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多