Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Sinatra File Upload
require 'sinatra'
get "/" do
erb :form
end
post '/save_image' do
@filename = params[:file][:filename]
file = params[:file][:tempfile]
File.open("./public/#{@filename}", 'wb') do |f|
f.write(file.read)
end
erb :show_image
end
<html>
<head>
<title>Image Upload</title>
</head>
<body>
<h1>Upload Image</h1>
<form action="http://itp.nyu.edu/~rsm347/sinatra/file_upload/save_image" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload image">
</form>
</body>
</html>
<html>
<head>
<title>Show Image</title>
</head>
<body>
<h1>See Image</h1>
<img src="http://itp.nyu.edu/~rsm347/sinatra/file_upload/public/<%= @filename %>" />
</body>
</html>
@rmetzler

This comment has been minimized.

Copy link

@rmetzler rmetzler commented May 6, 2015

If you reuse this script, be aware of the hardcoded URLs in the ERB-files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.