2012-12-25 23 views
0

我想用強大與node.js中實現上傳圖片的功能明確,與node.js的強大上傳圖像失敗

我做的是:

app.configure(function() { 
    app.use(express.static(__dirname + "/media")); 
    app.use(express.bodyParser()); 
}) 
app.post('/upload', function (req, res) { 
    var form = new formidable.IncomingForm(); 
    form.parse(req, function(err, fields, files){ 
     console.log("log in parse"); 
     console.log("fields type is " + typeof fields); 
     console.log("files type is " + typeof files); 
     console.log(files.image);  
     if (err) return res.send('You found error'); 
    }); 
}) 

與此代碼,圖像可以成功上傳,但form.parse功能似乎沒有被調用,因爲log沒有被調用

爲什麼?我的代碼有什麼問題?

回答

2

express 3 bodyParser()內部使用formidable。 所以這應該工作:

view.jade 
    form#fileupload(enctype="multipart/form-data") 
     input(type="hidden",name="user[id]", value="1") 
     input(type="file",name="photo[file]") 

app.js 
    app.post('/upload', function (req, res) { 
     var userId = req.body.user.id; 
     var photo = req.files.photo.file; 
    }); 
+0

的問題是,我想更改上傳路徑,法官如果imgae已經上傳,做了一些進展,我怎麼能做到這些? – hh54188

+0

@ hh54188:'app.use(express.bodyParser({uploadDir:__dirname +'/ uploads'}));' – wprl

+0

優秀。謝謝你,一直在這工作了一個多小時。 – dopatraman