koa2使用koa-body进行文件上传

1、安装

想要使用自然是先安装
	yarn add koa-body
	yarn add koa
	yarn add koa-router

2、注册/使用

注册,这里是重点

import Koa from "koa"
import koaBody from "koa-body";
import path from "path";
import fileRouter form "./fileRouter"; //自己的路由具体文件内容在下面获取文件里面
const app = Koa();

app.use(koaBody({
        multipart: true,
        formidable: {
            maxFieldsSize: 10 * 1024 * 1024, // 最大长度
            uploadDir: path.join(__dirname, "../public"), //这里是你的存放文件的文件夹
            keepExtensions: true, //是否保留扩展名
            multiples: false //是否多选
        }
    }));
fileRouter(app);
app.listen(23333,()=>{
	console.log("http://127.0.0.1:23333启动成功");
})

3、获取文件

经过上面的注册,如果前端请求了你的文件上传接口那么这个接口的ctx会被上一步挂载文件保存相关的属性

import Router from "koa-router";
const fileRouter = new Router({prefix: "/file"});

export default (app) => {
//获取文件
	fileRouter.post("/saveFile",upFile);
	app.use(fileRouter.routes()).use(fileRouter.allowedMethods());
	const upFile = (ctx) => {
    	if (ctx.request.files) { //这里就是插件添加的
       	 const { file } = ctx.request.files; //file上有很多属性,下面只是返回了文件名
         if(file){
        	ctx.body = {
              	code: 0,
                msg: "上传成功",
                data: `${file.name}`
           	 }	
       	 }
    	} else {
       		ctx.body = {
            	code: -1,
            	msg: "上传失败",
            	data: null
        	}
    	}
	}
}

4、我的代码依赖

我使用typescript + koa2写的,依赖项如下:
依赖项

5、总结

上面是我在使用koa2的时候获取前端上传文件的做法,写的不好,有什么说的不清楚的地方可以留言评论,如有错误的地方,希望大佬不吝赐教!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值