首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大文件上传失败

大文件上传失败
EN

Stack Overflow用户
提问于 2012-05-24 23:19:58
回答 1查看 3.2K关注 0票数 1

我正在编写一个python模块来将文件上传到服务器上,我可以上传大小为500MB的文件,但是当我尝试上传1 1gb的文件时,上传失败了,如果我使用像cURL这样的东西,它不会失败。我在谷歌上搜索了如何使用python上传multipart formdata后得到了代码,代码可以在here中找到。我只是编译并运行了代码,我得到的错误是

代码语言:javascript
复制
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    opener.open("http://127.0.0.1/test_server/upload",params)
  File "C:\Python27\lib\urllib2.py", line 392, in open
    req = meth(req)
  File "C:\Python27\MultipartPostHandler.py", line 35, in http_request
    boundary, data = self.multipart_encode(v_vars, v_files)
  File "C:\Python27\MultipartPostHandler.py", line 63, in multipart_encode
    buffer += '\r\n' + fd.read() + '\r\n'  
MemoryError

我刚接触python,很难掌握它。我还遇到了另一个程序here,老实说,我不知道如何运行它。我试着根据函数名猜测来运行它,但是不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-25 00:00:35

有问题的脚本不是很智能,它在内存中构建POST主体。

因此,要发布一个1 1GB的文件,您需要1 1GB的内存来保存数据,加上HTTP头、边界、python和代码本身。

您必须修改脚本以使用mmap,在将包装在mmap.mmap值中的文件传递给request.add_data之前,首先在临时文件中构造整个主体。

有关如何实现这一点的提示,请参阅Python: HTTP Post a large file with streaming

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10740436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档