1. 程式人生 > 實用技巧 >node js 實現檔案上傳與反顯

node js 實現檔案上傳與反顯

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