0
我是從Flash應用程序流式傳輸wav數據。如果我得到的數據,並執行以下操作:FileUtils.mv在Windows中添加換行符
f = File.open('c:/test.wav', 'wb')
f << wav_data.pack('c'*wav_data.length)
f.close
wav文件完美地工作。如果我這樣做:
f = Tempfile.new('test.wav')
f << wav_data.pack('c'*wav_data.length)
f.close
FileUtils.mv(f.path, 'c:/')
該文件存在,但聽起來都是亂碼。在十六進制編輯器中檢查顯示,在工作文件的每個地方都有一個0A(或\ n),亂碼版本有0D0A(或\ r \ n)
我正在使用這與rails + paperclip結合,將Heroku和S3的組合用於實時應用,所以我希望這個問題能夠解決,但是我想暫時讓我的本地計算機正常工作。
有沒有人知道FileUtils.mv會這樣做的任何原因,以及是否有方法來改變它的行爲?
這就是它!謝謝 – Lowgain 2010-04-28 00:14:09
@Lowgrain:很酷。你應該接受答案。此外,請修正您的問題,以便發佈的代碼正常工作(即缺少「w + b」或任何您使用的內容)。 – 2010-04-28 00:21:42