app.js中引入express的第三方中間件multer實現文件上傳功能。html
var multer = require('multer');//用express的第三方中間件 multer 實現文件上傳功能。 app.use(multer({//設置文件上傳到的位置 dest: './public/images/upload', rename: function (fieldname, filename) { return filename; } }));
路由ajax
app.post('/upload', function (req, res) { req.flash('success', '文件上傳成功!'); res.json({"result":{message:"文件上傳成功!"}}); });
htmlexpress
<input type="file" id="photo"> <button id="upload">上傳</button>
ajaxjson
/*上傳文件*/ $("#upload").click(function(){ //do something var file = $("#photo")[0].files; //上次修改時間 console.log("文件上次修改時間"+file[0].lastModifiedDate); //名稱 console.log("文件名稱"+file[0].name); //大小 字節 console.log("文件大小"+file[0].size); //類型 console.log("文件類型"+file[0].type); //建立FormData對象 var data = new FormData(); //爲FormData對象添加數據 $.each(file, function(i, file) { data.append('upload_file', file); }); $.ajax({ data: data, url: '/upload', type:"post", dataType: 'JSON', contentType: false, //不可缺 processData: false, //不可缺 success: function(data){ console.log(data); alert("上傳成功!"); }, error: function(err){ console.log('error: ' + err); } }); })