Web前端上传文件,后端nodejs处理

前端用接口调试工具上传,后端使用nodejs的Koa2

后端部分:

const Koa = require('koa');
const Router = require('koa-router');

const multer = require('@koa/multer');

const storage = multer.diskStorage({ // multer调用diskStorage可控制磁盘存储引擎
  destination: function(req, file, cb){
      cb(null, './image/pic')
  },
  filename: function(req, file, cb){
      cb(null, Date.now()+'.png') // 加入时间戳保证文件不重复
  }
})
const limits = {
  fileSize: 1024*1024*100,//文件大小 单位 b
  files: 1//文件数量
}
const upload = multer({
  storage,
  limits
})

const app = new Koa();
const router = new Router();

router.get('/', async ctx => {
  ctx.body = 'Hello World';
});

//此处upload.single('file')的file是文件名,就是前端上传时参数的名称
router.post('/upload', upload.single('file'),async ctx => {
  ctx.body = 'success';
});

app.use(router.routes());
app.listen(2000);

注释:

a.后端安装插件命令

//安装koa
npm i koa
//安装上传文件的插件multer
npm install --save @koa/multer multer

b.插件仅支持multipart/form-data,所以格式一定要用这个才行

以上就是借鉴其他大佬,加上自己理解的价值的信息,希望对你有帮助,当然如果后端不使用koa2,选择express框架也可以,安装插件的话就直接 npm i multer,具体的可以去npm官网搜索对应的插件明即可!

猜你喜欢

转载自blog.csdn.net/weixin_48373171/article/details/132366890
今日推荐