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 <[email protected]> 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 [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]
> > 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to