使用nodejs koa web框架实现文件上传
安装环境 依赖包
koa @koa/multer multer @koa/router
引入包
const Koa=require(“koa”)
const Koa = require(“koa”);
const router = require(“@koa/router”)();
const multer = require(‘@koa/multer’);
const app = new Koa();
文件上传路由接收前配置信息
const storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, ‘/tmp/my-uploads’) //文件保存路径
},
filename: function(req, file, cb) {
const uniqueSuffix = Date.now() + ‘-‘ + Math.round(Math.random() * 1E9)
cb(null, file.fieldname + ‘-‘ + uniqueSuffix) //设置文件名
}
})
const upload = multer({
storage: storage
});
多文件上传
router.post(
‘/upload-multiple-files’,
upload.fields([{
name: ‘avatar’,
maxCount: 1
},
{
name: ‘boop’,
maxCount: 2
}
]),
ctx => {
console.log(‘ctx.request.files’, ctx.request.files);
console.log(‘ctx.files’, ctx.files);
console.log(‘ctx.request.body’, ctx.request.body);
ctx.body = ‘done’;
}
);
单个文件上传
router.post(
‘/upload-single-file’,
upload.single(‘avatar’),
ctx => {
console.log(‘ctx.request.file’, ctx.request.file);
console.log(‘ctx.file’, ctx.file);
console.log(‘ctx.request.body’, ctx.request.body);
ctx.body = ‘done’;
}
);
app.use(router.routes());
app.use(router.allowedMethods());
app.listen(3000);
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~