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