Guest User

Untitled

a guest
Feb 21st, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1.  
  2. require 'ftools'
  3.  
  4. FILE_DIR="files"
  5.  
  6. get "/upload_file/:id" do
  7. @parent=params[:id]
  8. erb :upload_file
  9. end
  10.  
  11. post "/upload_file/:parent" do
  12. parent_id=params[:parent].to_i
  13. parent=Node.get(parent_id)
  14.  
  15. file=params["myfile"]
  16.  
  17. # name got from form data
  18. f_name=file[:filename]
  19.  
  20. # tmpfile where the file is stored
  21. f_tmp=file[:tempfile]
  22.  
  23. # this is the directory where I am going to move the file
  24. f_dir=File.join(FILE_DIR, parent_id.to_s)
  25.  
  26. # directory+filename
  27. filename=File.join(f_dir, f_name)
  28.  
  29. # actual directory ceration and file movement
  30. Dir.mkdir(f_dir) if !File.exists?(f_dir)
  31. File.move(f_tmp.path, filename)
  32. f_tmp.unlink
  33.  
  34. node=Node.new
  35. node.name=params[:name]
  36. node.type="file"
  37. node.file=filename
  38. node.node_id=parent_id
  39. node.save
  40.  
  41. redirect "/show_dir/#{parent_id}"
  42. end
  43.  
  44.  
  45. get "/files/*" do
  46. f_path=params["splat"][0]
  47. f_name=f_path.split("/")[-1]
  48. send_file("files/#{f_path}")
  49. #params.inspect
  50. end
  51.  
  52.  
  53. __END__
  54.  
  55.  
  56. @@ upload_file
  57. <form enctype="multipart/form-data"
  58. action="/upload_file/<%= @parent %>" method="post">
  59. Name: <input type="text" name="name" /> <br />
  60. File: <input name="myfile" type="file" /><br/>
  61. <input type="submit" value="Upload" />
  62. </form>
Add Comment
Please, Sign In to add comment