我正在尝试创建一个图像上传器,将图片存储在数据库中,这里是db schema:
owner, type, filename, binary_data
所有字符串类型,binary_data除外,它是二进制类型。
我的档案:
查看
<%= form_tag({:action => "createnew"}, {:mulstipart => true}) %>
<%= hidden_field "image", "owner", :value => session[:login] %><br/>
<%= text_field "image", "filename", :size => 20 %><br/>
<%= file_field "image", "image_file" %><br/>
<%= submit_tag "Upload" %>
.rb文件(错误来源)
def image_file=(input_data)
self.filename = input_data.original_filename
self.type = input_data.content_type.chomp
self.binary_data = input_data.read
end
控制器
def createnew
@image = Image.new(params[:image])
if request.post?
@image.save
end
end
有人知道我的代码有什么问题吗?谢谢!
答案 0 :(得分:1)
你错误地使用了multipart
数据。请将您的表单更改为:
<%= form_tag({:action => "createnew"}, :method => :post, :multipart => true do %>