10.express上傳檔案
阿新 • • 發佈:2022-03-04
上傳檔案
- 前端上傳檔案一般採用表單的方式,將content-type設定為multipart/form-data
- 定義一個upload.js檔案用來處理上傳的路由
- 此處上傳需要一箇中間件multer,使用的時候需要在安裝
npm i multer -S
- 程式碼如下
// upload.js const express = require('express') const router = express.Router() const fs = require('fs') const multer = require('multer') // 設定臨時檔案存放資料夾 const upload = multer({dest: 'upload_tmp/'}); router.post('/', upload.any(), function(req, res, next) { // 設定檔案的存放地址 var des_file = "./upload/" + req.files[0].originalname; fs.readFile( req.files[0].path, function (err, data) { fs.writeFile(des_file, data, function (err) { if( err ){ console.log( err ); }else{ response = { message:'File uploaded successfully', filename:req.files[0].originalname }; res.end( JSON.stringify( response ) ); } }); }); }); module.exports = router
- 此處上傳需要一箇中間件multer,使用的時候需要在安裝
- 在app.js匯入上傳路由
// 匯入uploadRouter路由 const uploadRouter = require('./upload') app.use('/upload', uploadRouter)
- 使用apipost測試