加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 使用Sinatra进行文件上传

发布时间:2020-12-16 20:28:58 所属栏目:百科 来源:网络整理
导读:我试图能够使用Sinatra上传文件.我有代码 here,但是我收到错误“方法file_hash不存在”(请参阅??/lib/mvc/helpers/helpers.rb). 这里发生了什么?有没有一些依赖我失踪. 解决方法 我在 this thread上发现了示例代码,祝你好运. 包括它在这里,以防链接永远消失
我试图能够使用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"}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读