서버에 POST 파일로 파이썬 모듈을 작성하는 중 최대 500MB 크기의 파일을 업로드 할 수 있지만 1GB 파일을 업로드하려고 시도하면 업로드에 실패했습니다. cURL과 같은 것을 사용하면 실패하지 않습니다. 코드를 multipart formdata
으로 업로드하는 방법을 검색 한 후 코드를 얻었습니다. 코드는 here입니다. 난 그냥 컴파일하고 코드를 실행, 내가지고있어 오류가 나는 파이썬에 새로운 힘든 시간을 파악하는 데 문제가이대용량 파일 업로드가 실패합니다.
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
입니다. 나는 또한 다른 프로그램을 가로 질러왔다. here, 나는 그것을 실행하는 방법을 모른다. 함수 이름을 기반으로 추측하여 실행 해 보았지만 작동하지 않았습니다.
어쩌면 내가 잘못 이해하고 있지만 서버 한도가 500MB이면 1GB 업로드가 실패합니다. – kevin628
나는 cURL을 사용하여 1GB + 파일을 업로드 할 수 있다고 말한 것처럼 제한을 설정하지 않았습니다. – cyberbemon
@cyberbemon : 추적 코드는 코드가 전체 파일을 메모리에로드하려고 시도 함을 보여줍니다 ('fd.read()'). 프로세스에 대한 허용 된 메모리 양을 늘리거나 내용을 스트리밍하십시오 ('curl'은 아마 그렇습니다). http://stackoverflow.com/questions/2502596/python-http-post-a-large-file-with-streaming을 참조하십시오. – jfs