0

有没有其他人在 Windows 上遇到过 Ramaze 的文件锁定问题?我所有上传的文件都被锁定(我正在使用上传帮助程序)。

我正在使用 - Ruby 1.93 - Ramaze-2012.04.14 - Rack-1.4.1

谢谢!

4

1 回答 1

0

回答我自己的问题。看起来罪魁祸首是 ramaze/helper/upload.rb 中的这一行

@realfile = File.new(path) #--->this opens the uploaded/saved file, thus locking it

我用这个修补了我本地的upload.rb副本——

class UploadedFile
    include Ramaze::Traited

    # Suggested file name
    # @return [String]
    attr_reader :filename

    # MIME-type
    # @return [String]
    attr_reader :type

    # Saved file object
    # @return [File]
    attr_reader :realfile #---> expose the variable so we can close it from the caller

然后在您的调用者中,只需在保存文件后关闭文件,就像这样......

get_uploaded_files.each_pair{|k, v|
    v.save "upload/#{v.filename}"
    v.realfile.close #close the file handle
}

我会尽快提交补丁...

于 2012-05-01T13:59:43.527 回答