i use the following method to POST large file. i think the "multipart/form-data" type, make it possible to transfer the large file. maybe because of the large file is transferred in CHUNKED. * <form method="POST" enctype='multipart/form-data' action="upload.cgi"> <input type=file name=upload> <input type=submit name=press value="OK"> </form>* i scripted the above mentioned form using CURL. *curl --form upload=@localfilename --form press=OK [URL]* I even try to three concurrent clients to upload large files ( 3 x 600MB). No memory error. post '/upload_file' => sub{ *my $allupload = request->upload('filename'); my $FILENAME = $allupload->filename; debug "FILENAME:".$FILENAME; my $CONTAINERPATH = params->{'containerPath'}; debug "CONTAINER: ". $CONTAINERPATH; my $UPLOAD_DIR = setting("REPOSITORY").$CONTAINERPATH.$FILENAME; #CONTAINERPATH FORMAT : /Container1/ debug "UPLOAD_DIR: ". $UPLOAD_DIR; $allupload->copy_to($UPLOAD_DIR);* On Fri, Aug 5, 2011 at 6:05 PM, Richard Huxton <dev@archonet.com> wrote:
On 05/08/11 10:49, halayudha wrote:
yes, i have memory issue, since http->body is kept in RAM. but i wonder, how come the POST method does not have such issue?
It does (well, it does here). A simple test trying to upload a .iso I had lying around showed the simple backend going past 500MB RAM usage and then falling over with "Out of memory!".
-- Richard Huxton Archonet Ltd