koa-multer用法基本和multer一緻,npm裡koa-multer的用法介紹比較簡單,可以參考multer的用法
const Koa = require('koa');
const Router = require('koa-router');
const multer = require('koa-multer');
const path = require('path');
const server = new Koa();
let storage = multer.diskStorage({
destination: path.resolve('upload'),
filename: (ctx, file, cb)=>{
cb(null, file.originalname);
}
});
let fileFilter = (ctx, file ,cb)=>{
//過濾上傳的字尾為txt的檔案
if (file.originalname.split('.').splice(-1) == 'txt'){
cb(null, false);
}else {
cb(null, true);
}
}
let upload = multer({ storage: storage, fileFilter: fileFilter });
let router = new Router();
router.post('/upload', upload.single('file'), async ctx => {
if (ctx.req.file){
ctx.body = 'upload success';
} else {
ctx.body = 'upload error';
}
});
server.use(router.routes());
server.listen(8080, ()=>{
console.log('usage: curl http://localhost:8080/upload -F "[email protected]"');
});