Sinatra 的隐藏技能

至少对我来说是隐藏技能。

文件上传

get "/upload" do
  <<-HTML
  <form action="/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="images[]" multiple />
    <input type="submit" />
  </form>
  HTML
end      
    
# Handle POST-request (Receive and save the uploaded file)
post "/upload" do 
  pp params

  params['images'].each do |file|
    File.open("./upload/#{file[:filename]}", "wb") do |f|
      f << File.open(file[:tempfile], "rb").read
    end
  end
  
  res = "I received the following files:\n"
  res << params['images'].map{|f| f[:filename] }.join("\n")
  res
end

文件下载

get '/list' do
  list = Dir.glob("./upload/*.*").map{|f| f.split('/').last}
  # render list here
end

get '/download/:filename' do |filename|
  send_file "./upload/#{filename}"
end
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容