ruby – 使用Sinatra进行文件上传

前端之家收集整理的这篇文章主要介绍了ruby – 使用Sinatra进行文件上传前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图能够使用Sinatra上传文件.我有代码 here,但是我收到错误方法file_hash不存在”(请参阅​​/lib/mvc/helpers/helpers.rb).

这里发生了什么?有没有一些依赖我失踪.

解决方法

我在 this thread上发现了示例代码,祝你好运.

包括它在这里,以防链接永远消失:

post '/upload' do
  unless params[:file] &&
         (tmpfile = params[:file][:tempfile]) &&
         (name = params[:file][:filename])
    @error = "No file selected"
    return haml(:upload)
  end
  STDERR.puts "Uploading file,original name #{name.inspect}"
  while blk = tmpfile.read(65536)
    # here you would write it to its final location
    STDERR.puts blk.inspect
  end
  "Upload complete"
end

那么你的看法会像这样.这使用HAML,但重要的部分是不要忘记在表单元素中设置enctype,否则您将只获取文件名而不是一个对象:

%form{:action=>"/upload",:method=>"post",:enctype=>"multipart/form-data"}
  %input{:type=>"file",:name=>"file"}
  %input{:type=>"submit",:value=>"Upload"}

猜你在找的Ruby相关文章