koa-multer 实现图片上传

一、 Koa 上传文件模块 koa-multer 介绍

koa-multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要 用于上传文件。
注意: Multer 不会处理任何非 multipart/form-data 类型的表单数据,意思就是我们要上传图 片必须在 form 表单上面加 multipart/form-data

koa-multer 基于 multer 这个模块:https://github.com/expressjs/multer
参考文档:https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md

二、 Koa 上传文件模块 koa-multer 使用

  1. 安装 Koa2 的 koa-multer :
npm install --save koa-multer
  1. 引入配置 koa-multer 模块 :
const multer = require('koa-multer');
const file = require('file');
//配置
var storage = multer.diskStorage({
  //配置图片上传的目录
  destination: function (req, file, cb) {
    cb(null, 'public/uploads/'); //注意路径必须存在
  },
  //图片上传完成重命名
  filename: function (req, file, cb) {
    // 获取后缀名
    var fileFormat = file.originalname.split('.');
    cb(null, Date.now() + '.' + fileFormat[fileFormat.length - 1]);
  },
});
//加载配置
var upload = multer({ storage: storage });

3.使用 koa-multer

router.post('/doAdd', upload.single('face'), async (ctx, next) => { 
	ctx.body = { 
		filename: ctx.req.file.filename,//返回文件名 
		body:ctx.req.body 
	} 
});

4.注意:Form 表单加上 enctype=“multipart/form-data”

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值