node js 實現檔案上傳與反顯
阿新 • • 發佈:2020-11-29
1. 檔案上傳:
const express = require('express') const multer = require("multer"); const router = express.Router() const storage = multer.diskStorage({ // 設定儲存檔案的路徑 destination: function (req, file, cd) { cd(null, './public/images') }, // 設定圖片名稱 filename: function (req, file, cd) { cd(null, `${Date.now()}-${file.originalname}`) } }) const upload = multer({ storage: storage }) router.post('/file', upload.single('file'), (req, res, next) => { let url = `/api/public/images/${req.file.filename}` if (!req.file) { return res.json({ code: 1, message: '上傳失敗' }) }else { return res.json({ code: 200, message: '上傳成功', url: url }) } }) module.exports = router
2. 反顯
const express = require('express'); const getImage = express(); const path = require('path') getImage.get('/public/images/*', (req, res) => { res.sendFile(path.resolve(__dirname,'..') + "/" + req.url); // res.send() }) module.exports = getImage