var express=require('express');//加載experss模塊 var app=express(); var fs=require('fs'); var multer=require('multer'); var upload=multer({dest:__dirname+'/public/'});
app.post('/file_upload',upload.single('file'),function(req,res){//表單中名爲file單個文件 var file=__dirname+"/"+req.file.originalname;//獲取被上傳文件名 console.log(file); fs.readFile(req.file.path,function (err,data) { fs.writeFile(file,data,function (err) { if(err){ console.error(err); }else{ response={ message:'File upload successfully', filename:req.file.originalname }; } console.log(response); res.end(JSON.stringify(response)); }) ; }); });
var multer=require('multer');express
var upload=multer({dest:__dirname+'/public/'});//也可指定storage:__dirname+'/public/npm
npm install multerapp
multer允許傳入一個配置對象,dest/storage屬性:指定上傳文件的保存目錄,若是不提供配置對象,文件將保存到內存而永遠不會被寫入硬盤。post
.single(filename)參數指定文件名的單文件上傳,文件存儲在req.fileui
app.post('/file_upload',upload.single('file'),function(req,res){//表單中名爲file單個文件 spa
var file=__dirname+"/"+req.file.originalname;//獲取被上傳文件名string
.array(filedname[,maxCount])參數指定文件名的多文件上傳,maxCount可選,超出拋異常it
.fileds(files)允許通過filed參數指定的文件列表上傳 filed是一個數組io
.any允許傳入任何文件console
其餘異常處理,文件過濾,限制文件上傳