有没有其他人在 Windows 上遇到过 Ramaze 的文件锁定问题?我所有上传的文件都被锁定(我正在使用上传帮助程序)。
我正在使用 - Ruby 1.93 - Ramaze-2012.04.14 - Rack-1.4.1
谢谢!
回答我自己的问题。看起来罪魁祸首是 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
}
我会尽快提交补丁...