Forum: Mongrel File Upload without the Temp File Copy

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Alexey P. (Guest)
on 2008-11-18 04:30
Is it possible to upload file directly into database?
Without creation the extra temp file on the disk.

Thanks! :)
Michael D'Auria (Guest)
on 2008-11-18 18:06
(Received via mailing list)
Is there a reason why you are avoiding the filesystem for storage?

Michael
Alexey P. (Guest)
on 2008-11-18 18:37
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.
Stephan W. (Guest)
on 2008-11-18 19:19
(Received via mailing list)
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.org -- blog.stephansmap.org
-> http://loggingit.com -- blog.loggingit.com
Ezra Z. (Guest)
on 2008-11-18 19:46
(Received via mailing list)
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/mon...

Cheers-

Ezra Z.
removed_email_address@domain.invalid
This topic is locked and can not be replied to.