文件上传导致rails app和服务器被杀死

时间:2009-03-30 14:35:16

标签: ruby-on-rails ruby upload file-upload

我有一个简单的模型,如下所示:

def video_file=(input_data)
  unless input_data.to_s.empty?
    newfile = File.open("#{RAILS_ROOT}/public/to_upload/#{self.filename}_vid.f4v", "wb") do |f|
      while buff = input_data.read(4096)
        f.write(buff)
      end
    end
  end
end

这里是rails设法显示然后死亡的错误,字面意思。

 ActiveRecord::StatementInvalid in <ControllerName>

为什么?

1 个答案:

答案 0 :(得分:2)

替换

newfile = File.open(path, "wb") do |f|
while buff = input_data.read(4096)
  f.write(buff)
end

if input_data.respond_to?(:read)
  File.open(path, "wb") { |f| f.write(input_data.read) }
end