上传大图这个问题,断断续续困扰了一个月今天终于解决了!!撒花~
下图里base64_data是经过转换的,类型是str
f = open(origin_path, 'rb')
base64_data = base64.b64encode(f.read()).decode('utf-8')
name就是图片的名称,这个图是之前的写法。

以上这种方式对于1M左右的小图可以正常操作,但稍大一些的图就会花费很长很长时间,期间试过设置Tomcat的mastPostSize,Mysql的my.ini里也修改过一些size参数,重启电脑之后没什么用。
查找过程中发现了Poster,但是这个Poster好像对于Python3的支持不是很好,里面有很多东西都是Python2的,所以继续找其它方法,之后发现一个上传大文件时需要的Multipart/form-data参数,但是在上图的headers中加上
'Content-Type': 'multipart/form-data'
也不好使,后台返回对象定义未找到。再继续查找,最终发现了MutipartEncoder
![]()
首先导入这个模块,我在Pycharm里搜索不到requests_toolbelt,直接在cmd里pipi install requests_toolbelt,不用指定路径,会自动安装到python安装路径下.参考网上的使用方式,我写出了以下代码内容

本文详细介绍了如何解决大文件上传的问题,通过使用MutipartEncoder替代传统的base64编码方式,实现了百兆级别文件的快速传输,适用于Python开发环境下。
238

被折叠的 条评论
为什么被折叠?



