koa-body 处理请求遇到的问题记录

    最近有个上传并解析excel文件的需求,后端使用的是 koa2 框架,就去找了下,选用了好评如潮的 koa-body 插件来做上传功能,js-xlsx 用来处理解析excel , 参考:

https://segmentfault.com/a/1190000015943339
https://blog.csdn.net/qq_24078843/article/details/76419248
https://segmentfault.com/a/1190000004395728#articleHeader5

    参照前人的经验,写好了demo,用 curl -X POST http://127.0.0.1:6666/upload -F 'file=@C:\Users\my\Desktop\1.xlsx' -b 1.txt 命令验证可以完美处理。






    但是发现之前写的 DELETE 方法请求却出错了,用 ctx.request.body 无法接收到前端数据了,这接口我啥也没改呀,那就是在接口入口的公共部分出的问题了,由于引用了 koa-body ,在入口处新增了

app.use(koaBody({
    multipart: true,
    formidable: {
        maxFileSize: 200*1024*1024    // 设置上传文件大小最大限制,默认2M
    }
}));

想来就是这个的毛病了,到源码出处一看 https://github.com/dlau/koa-body,明确有配置说明

 strict {Boolean} If enabled, don't parse GET, HEAD, DELETE requests, default true

    GET, HEAD, DELETE 请求方法没有在 request.body 中定义,但是不排除在其他实例当中是支持的,因此,只需在原有配置上加上 strict : false ,如下:

app.use(koaBody({
    multipart: true,
    strict  : false,  //如果为true,不解析GET,HEAD,DELETE请求
    formidable: {
        maxFileSize: 200*1024*1024    // 设置上传文件大小最大限制,默认2M
    }
}));

    再重新运行,好了,对整体项目并没有影响了,因此,在使用一个新的插件的过程的时候,最好还是要去官网看看,毕竟,别人写的也只是解决自身问题的一部分用法,想要更全面的,还得去官网看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值