File Upload without the Temp File Copy


#1

Is it possible to upload file directly into database?
Without creation the extra temp file on the disk.

Thanks! :slight_smile:


#2

Is there a reason why you are avoiding the filesystem for storage?

Michael


#3

On Tue, Nov 18, 2008 at 8:37 AM, Alexey P. removed_email_address@domain.invalid
wrote:

stream to it’s destination without lost performance on not needed IO
operations.

You could look at the Ruby code that produces the temporary files, and
change it.
It is in method CGI::QueryExtension#read_multipart in cgi.rb
(/usr/lib/ruby/1.8/cgi.rb on my machine)

Stephan


Posted via http://www.ruby-forum.com/.


Mongrel-users mailing list
removed_email_address@domain.invalid
http://rubyforge.org/mailman/listinfo/mongrel-users


Stephan W.

-> http://stephan.sugarmotor.org
-> http://www.thrackle.org
-> http://www.buckmaster.ca
-> http://www.trafficlife.com
-> http://stephansmap.orgblog.stephansmap.org
-> http://loggingit.comblog.loggingit.com


#4

Michael D’Auria wrote:

Is there a reason why you are avoiding the filesystem for storage?

Michael

Yes, i’m using abstract storage interface, that can be implemented as
local file system, remote file system, distributed file system,
database, cache.

In this case the temp file is not needed. I can just switch the input
stream to it’s destination without lost performance on not needed IO
operations.


#5

On Nov 18, 2008, at 9:19 AM, Stephan W. wrote:

In this case the temp file is not needed. I can just switch the input
stream to it’s destination without lost performance on not needed IO
operations.

You could look at the Ruby code that produces the temporary files, and
change it.
It is in method CGI::QueryExtension#read_multipart in cgi.rb
(/usr/lib/ruby/1.8/cgi.rb on my machine)

Mongrel doesn’t actually use CGI.rb, thats only rails. You want to
look in http_request.rb and patch the code that writes to a tmpfile
and have it write to wherever you want:

http://mongrel.rubyforge.org/browser/trunk/lib/mongrel/http_request.rb#L47

Cheers-

Ezra Z.
removed_email_address@domain.invalid