我正在尝试上传文件并保存在特定路径中。我使用以下代码来做同样的事情。
在我看来,我使用的是file_field标签
<%= file_field 'upload', 'datafile', {:value => @original_file_name} %>
控制器
xmlfilepath = DataFile.save(params[:upload][:datafile],@xml_file)
模型
def self.save(file_handle,file_name)
File.open(file_name, "wb") { |f| f.write(file_handle.read) }
end
但是在上传时我遇到了错误
NoMethodError (undefined method `read' for "thorConfig_2013_11_27_06_52_05.xml":String):
我无法找到解决此错误的方法。如果有人能在这方面帮助我,我会很高兴。
答案 0 :(得分:0)
我建议为了安全目的而实现类似的东西
(使用paperclip
gem)link
或使用类似逻辑实现
希望它有所帮助。至于您的错误,请确保您的表单上有multipart: true
。
错误说“我无法读取对象,无论是null还是空
尝试添加
if file_handle.blank?
File.open(file_name, "wb") { |f| f.write(file_handle.read) }
end