1

ファイルの圧縮にはruby​​zipライブラリを使用しています。
しかし、私は問題に遭遇します。
私は試します:

    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 バイトですが、アーカイブにはサイズ11551 バイトのファイルtest.jpgがあります。test.rtf でも同じ状況があります。

助言がありますか?

4

1 に答える 1

1

あなたの問題はIO.read(). バイナリデータが適切に処理されるかどうかはわかりません。

代わりにこれを試して、問題が解決するかどうかを確認します。

File.open(filename, "rb") { |f| f.read }
于 2012-05-02T23:59:36.520 に答える