核心代码
const upload = require('koa-multer') ({
dest: './public/images'});
router.post('/upload', upload.single('file'), ctx=>{
console.log('file', ctx.req.file);
console.log('body', ctx.req.body);
ctx.body = '上传成功';
})
目录结构如下
基本思路
- 1.通过浏览器访问url: http://localhost:3000/upload
- 2.服务器(koa)监听到对应的路由,调用路由处理函数
- 3.使用nunjucks模板引擎进行渲染,并返回给浏览器
- 4.浏览器渲染完毕后显示出来.
- 5.点击上传文件->上传
- 6.服务端监听到上传的POST请求,进行相应的处理并将处理结果返回给前端
总体代码
const koa = require('koa');
const app = new koa();
const router = new require('koa-router')();
const multer = require('koa-multer');
const nunjucks = require('koa-nunjucks-2');
const path = require('path');
const fs = require('fs');
app.use(nunjucks({
ext: 'html',
path: __dirname,
nunjucksConfig: {
trimBlocks: true
}
}));
const upload = multer({
dest: 'uploads/'
});
const