Note that there are some explanatory texts on larger screens.

plurals
  1. POAccessing the raw file stream from a node-formidable file upload
    primarykey
    data
    text
    <p>I am creating an application that takes some file uploads and send them straight up to S3. I would prefer not to even have the tmp file on my server, so I am using the Knox module and would like to take the raw stream from Formidable and send it over Knox to S3. I have done something similar using Knox to download a file using this code:</p> <pre><code>knox.downloads.get(widget.download).on('response',function(sres){ res.writeHead(200, { 'Content-Type':'application/zip', 'Content-Length': sres.headers['content-length'], 'Content-Disposition':'attachment; filename=' + widget.download }); util.pump(sres, res); }).end(); </code></pre> <p>Now I would like to do something similar in the oposite direction (File upload from the browser to S3).</p> <p>So far I have written an event handler to capture each piece of data from the file as it's being uploaded:</p> <pre><code>var form = new formidable.IncomingForm(); form.onPart = function(part){ if(!part.filename){ form.handlePart(part); }else{ if(part.name == 'download'){ // Upload to download bucket controller.putDownload(part); }else{ // Upload to the image bucket controller.putImage(part); } //res.send(sys.inspect(part)); } } form.parse(req, function(err, fields, files){ if(err){ res.json(err); }else{ res.send(sys.inspect({fields:fields, files:files}), {'content-type':'text/plain'}); //controller.createWidget(res,fields,files); } }); controller.putDownload = function(part){ part.addListener('data', function(buffer){ knox.download.putStream(data,part.filename, function(err,s3res){ if(err)throwError(err); else{ console.log(s3res); } }); }) knox.downloads.putStream(part, part.filename, function(err,s3res){ if(err)throwError(err); else{ console.log(s3res); } }); } </code></pre> <p>But the data event only give me the buffer. So is it possible to capture the stream itself and push it to S3?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload