我正在尝试将一个大文件 (\xe2\x89\xa53GB) 上传到我的 FastAPI 服务器,而不将整个文件加载到内存中,因为我的服务器只有 2GB 可用内存。
\n服务器端:
\nasync def uploadfiles(upload_file: UploadFile = File(...):\nRun Code Online (Sandbox Code Playgroud)\n客户端:
\nm = MultipartEncoder(fields = {"upload_file":open(file_name,\'rb\')})\nprefix = "http://xxx:5000"\nurl = "{}/v1/uploadfiles".format(prefix)\ntry:\n req = requests.post(\n url,\n data=m,\n verify=False,\n )\nRun Code Online (Sandbox Code Playgroud)\n返回:
\nasync def uploadfiles(upload_file: UploadFile = File(...):\nRun Code Online (Sandbox Code Playgroud)\n我不确定MultipartEncoder实际发送到服务器的内容,因此请求不匹配。有任何想法吗?
python file-upload starlette fastapi python-requests-toolbelt
我一直在尝试使用安装pyrebase4,pip install pyrebase4但是运行时它会抛出以下错误
"C:\Users\ChodDungaTujheMadhadchod\anaconda3\envs\sam_upgraded\lib\site-packages\requests_toolbelt\adapters\appengine.py", line 42, in <module> from .._compat import gaecontrib ImportError: cannot import name 'gaecontrib' from 'requests_toolbelt._compat'
由于我直接看到错误requests_toolbelt,但我无法找出修复它的可能方法,因此我尝试升级到最新版本,即requests-toolbelt==1.0.0. 那么有什么办法可以解决呢。