-1

我正在尝试创建一个将图片存储在数据库中的图像上传器,这里是 db 模式:

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

有人知道我的代码有什么问题吗?谢谢!

4

1 回答 1

1

你错在multipart数据上。请将您的表格更改为:

<%= form_tag({:action => "createnew"}, :method => :post, :multipart => true do %>
于 2013-05-19T12:36:07.390 回答