From: "Bohdan S." Date: 2011-04-05T22:46:53+09:00 Subject: Re: How do I upload an image with Sinatra (like Paperclip)? Brian Candler wrote in post #929342: > Almaz OM wrote: >> phanks: >> >> post '/upload' do >> unless params[:file] && >> (tmpfile = params[:file][:tempfile]) && >> (name = params[:file][:filename]) >> @error = "No file selected" >> return haml(:upload) >> end >> directory = "public/files" >> path = File.join(directory, name) >> File.open(path, "wb") { |f| f.write(tmpfile.read) } >> end >> >> so will be better for me :) > > OK. Beware that f.write(tmpfile.read) will use as much RAM as the size > of the attachment. Hence the suggestion to read it in and write it out > in blocks of, say, 64K. "f.write(tmpfile.read)"?? Why so complex?... post '/upload' do tempfile = params['file'][:tempfile] filename = params['file'][:filename] File.copy(tempfile.path, "./files/#{filename}") redirect '/' end http://tumblr.com/xciegm157 -- Posted via http://www.ruby-forum.com/.