温馨提示×

Koa2中上传图片模块koa-multer的使用(可立即加载照片)

小云
275
2023-09-20 09:58:33
栏目: 编程语言

要在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将会将上传的图片保存到指定的目标路径,并将上传成功的消息返回给客户端。

0