I'm a huge newb! Am i to understand that multipart is built in to bodyparser now? I'm going about learning node/express and a lot of the tuts out there have old information. Pedro Teixeira used multipart-js in nodetuts, my searches seem to yield recommendations of nodeformidable but I'm wondering if now bodyparser is enough?
On Thursday, February 9, 2012 5:26:28 PM UTC-5, tjholowaychuk wrote: > > if you're using bodyParser read the bottom of this: > http://www.senchalabs.org/connect/middleware-bodyParser.html > it will otherwise handle multipart for you > > On Feb 9, 12:08 pm, Phil Daws <ux...@splatnix.net> wrote: > > I have studied the example upload.js and change my code slightly based > on that but it still just hangs when I post :( If I try the example code > that works fine. Must be missing something silly :( > > > > app.get('/upload', routes.upload); > > > > app.post('/upload', function(request, response) { > > > > var form = new formidable.IncomingForm(), files = [], fields = []; > > form.uploadDir = __dirname + '/uploads'; > > > > logger('Processing form'); > > > > form > > > > .on('file', function(field, file) { > > logger('Receving file - ' + file.name); > > files.push([field, file]); > > > > }) > > > > .on('field', function(field, value) { > > console.log(field, value); > > fields.push([field, value]); > > > > }) > > > > .on('error', function(err) { > > logger("an error has occured with form upload"); > > logger(err); > > request.resume(); > > > > }) > > > > .on('progress', function(bytesReceived, bytesExpected) { > > logger('Received: ' + bytesReceived + ' Expected: ' + bytesExpected); > > > > }) > > > > .on('aborted', function(err) { > > logger("user aborted upload"); > > > > }) > > > > .on('end', function() { > > logger('-> upload done'); > > result.writeHead(200, {'content-type': 'text/plain'}); > > result.write('received fields:\n\n ' + util.inspect(fields)); > > result.write('\n\n'); > > result.end('received files:\n\n ' + util.inspect(files)); > > > > }); > > > > form.parse(request); > > > > }); > > > > -- > > Thanks, Phil > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > Hello, > > > I am attempting to write my first app that simply allows a file to be > > > uploaded. When I click on the submit button the browser appears to > > > start to post but just sits there. The app code I am using is: > > > app.post('/upload', function(request, response) { > > > var form = new formidable.IncomingForm(); > > > form.uploadDir = __dirname + '/uploads'; > > > logger('Upload dir = ' + form.uploadDir); > > > form.on('file', function(field, file) { > > > logger('Receving file - ' + file.name); > > > fs.rename(file.path, form.uploadDir + "/" + file.name); > > > }); > > > form.on('error', function(err) { > > > logger("an error has occured with form upload"); > > > logger(err); > > > request.resume(); > > > }); > > > form.on('progress', function(bytesReceived, bytesExpected) { > > > logger('Received: ' + bytesReceived + ' Expected: ' + bytesExpected); > > > }); > > > form.on('aborted', function(err) { > > > logger("user aborted upload"); > > > }); > > > form.on('end', function() { > > > logger('upload completed'); > > > }); > > > form.parse(request, function() { > > > response.render('/upload'); > > > }); > > > }); > > > and in the jade template I have: > > > h1= title > > > p #{title} > > > form(action="/upload", method="post", enctype="multipart/form-data") > > > span > > > input(class="uploadselection", type="file", name="uploadFile") > > > input(class="uploadbutton", type="button", value="Upload", > > > name="upload", onClick="submit();") > > > input(class="uploadbutton", type="button", value="Cancel Upload", > > > name="cancel") > > > What I see on the console is: > > > 9 Feb 17:28:10 - [nodemon] starting `node app.js` > > > info - socket.io started > > > Express server listening on port 8080 in development mode > > > 9 Feb 17:28:14 - Connect from 127.0.0.1 > > > 9 Feb 17:28:19 - Disconnection from 127.0.0.1 > > > 9 Feb 17:28:19 - Upload dir = > > > /home/uxbod/Development/nodeapps/fileupload/uploads > > > What am missing please ? I do not even see any data received :( > > > -- > > > Thanks, Phil > > > -- > > > Job Board:http://jobs.nodejs.org/ > > > Posting guidelines: > > >https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > > > You received this message because you are subscribed to the Google > > > Groups "nodejs" group. > > > To post to this group, send email to nodejs@googlegroups.com > > > To unsubscribe from this group, send email to > > > nodejs+unsubscr...@googlegroups.com > > > For more options, visit this group at > > >http://groups.google.com/group/nodejs?hl=en?hl=en -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en