云迈博客

您现在的位置是:首页 > 灌水专栏 > 正文

灌水专栏

使用nodejs koa web框架实现文件上传

吴志云2022-06-29灌水专栏199
安装环境依赖包koa@koa/multermulter@koa/router引入包constKoa=require("koa")constKoa=requi

安装环境 依赖包

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);

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~