Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re^3: Downloading things from a database

by Anonymous Monk
on Jul 22, 2004 at 12:29 UTC ( #376551=note: print w/replies, xml ) Need Help??

in reply to RE: Re: Downloading things from a database
in thread Downloading things from a database

What about very large files? As I see in my tests, this type of download use a lot of memory. Is there a was to do this without using a lot of system resources? Thanks
  • Comment on Re^3: Downloading things from a database

Replies are listed 'Best First'.
Re^4: Downloading things from a database
by upallnight (Sexton) on Jun 01, 2008 at 06:32 UTC
    Yes, this would take a lot of memory if you read in a large file to a string first.
    To force download of a large file, just print the file as you read it in like this:

    if(-e $file) { if(open(SESAME, "< $file")) { print "Content-Disposition: attachment; filename=$file\n"; print "Content-Type: application/octet-stream\n"; print "Content-Length: " . (-s $file) . "\n\n"; while(<SESAME>) { print $_; } close(SESAME); } else { print "Content-Type: text/html\n\nError: Could not read from f +ile\n"; } } else { print "Content-Type: text/html\n\nError: invalid filename\n"; }

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://376551]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2022-05-24 07:08 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (82 votes). Check out past polls.