要在Koa2中使用koa-multer模塊進行圖片上傳,首先需要安裝koa-multer模塊:
npm install koa-multer
接下來,在Koa2的入口文件中引入koa-multer模塊:
const multer = require('koa-multer');
然后,創建一個用于上傳圖片的multer實例,并指定圖片上傳的目標路徑和文件命名規則:
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/') // 指定上傳的目標路徑
},
filename: function (req, file, cb) {
const extname = path.extname(file.originalname);
cb(null, file.fieldname + '-' + Date.now() + extname); // 指定文件命名規則
}
});
const upload = multer({ storage: storage });
在路由中定義一個用于處理圖片上傳的接口,并使用multer實例的upload.single()方法指定上傳的文件字段名:
router.post('/upload', upload.single('image'), async (ctx) => {
// 圖片上傳成功后的處理邏輯
// 可以通過ctx.req.file獲取上傳的文件信息
ctx.body = '圖片上傳成功';
});
最后,將路由掛載到Koa2應用中:
app.use(router.routes()).use(router.allowedMethods());
現在,當客戶端向/upload接口發送POST請求,并在請求中包含名為image的文件字段,koa-multer將會將上傳的圖片保存到指定的目標路徑,并將上傳成功的消息返回給客戶端。