![1fcf2f4fa6f065e7308119b8151d74f7.png](https://img-blog.csdnimg.cn/img_convert/1fcf2f4fa6f065e7308119b8151d74f7.png)
环境说明
python版本:3.6.8
fastapi版本:0.61.1
pythonIDE:pycharm
运行环境:mac os 10.15.7
前端:vue.2x + node
服务端:fastapi
数据库:mysql 5x
场景介绍
前端后分离场景下,因为需要传文件的关系,所以放弃使用json格式传输,改用formdata格式,但在联调中发现formdata服务端始终无法解析数据,前端报400 错误。服务端报
TypeError: can't concat NoneType to bytes
问题回溯
- 一开始搭建服务端时。使用了pip install fastapi[all] 来搭建虚拟环境。
- 在使用formdata时,根据提示进行了 pip install python-multipart。
- 可此时在虚拟环境中,仍然有multipart包。
- python-multipart 与 multipart 两包冲突,框架优先引入multipart。
解决方案
- 如果已经pip install fastapi[all], 则卸载multipart包 再安装 python-multipart
- 建议重新搭建环境,不要pip install fastapi[all],需要的包一个一个手动安装。
祝好