express-上傳檔案
阿新 • • 發佈:2020-11-27
話不多說 直接看程式碼
var fs=require('fs') var multer = require('multer') var createFolder=function(folder){ //建立資料夾的方法 try{ fs.accessSync(folder) }catch(e){ fs.mkdirSync(folder) } } var uploadFolder='./upload/' createFolder(uploadFolder) var storage = multer.diskStorage({ destination: function//上傳檔案的介面 app.post('/upload',upload.single('logo'),function(req,res){ console.log(req.file)//原檔案的名字originalname res.send({'ret_coder':0}) })(req, file, cb) {//存放的資料夾 cb(null, uploadFolder) }, filename: function (req, file, cb) { console.log(file.originalname,'cc') cb(null, file.fieldname + '-' + Date.now()) //存放的名字 } }) var upload = multer({ storage:storage })
上傳畫面
form.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <form action="/upload" method="post" enctype="multipart/form-data"> <h2>單圖上傳</h2> <input type="file" name="logo"> <input type="submit" value="提交"> </form> </body> </html>
進入上傳畫面的介面
//檔案上傳頁面 app.get('/form',function(req,res){ var form=fs.readFileSync('./form.html',{encoding:"utf8"}) res.send(form) })