2013-11-15 21 views
0

因此,我試着通過Python 3.2中的httplib2發佈一個壓縮文件。我得到以下錯誤:通過http POST上載gzip時發生錯誤

io.UnsupportedOperation: fileno

我用來張貼只是一個XML文件,但由於這些文件變得太大我想先壓縮他們的記憶裏。

這是我如何在內存中創建壓縮文件:

contentfile = open(os.path.join(r'path', os.path.basename(fname)), 'rb') 
tempfile = io.BytesIO() 
compressedFile = gzip.GzipFile(fileobj=tempfile, mode='wb') 
compressedFile.write(contentfile.read()) 
compressedFile.close() 
tempfile.seek(0) 

,這是如何,我想將它張貼。

http.request(self.URL,'POST', tempfile, headers={"Content-Type": "application/x-gzip", "Connection": "keep-alive"}) 

任何想法?

就像我說,它使用XML文件即contentfile

回答

0

通過提供"Content-Length"頭這顯然消除了需要對httplib2的查詢的長度解決時運行良好。

相關問題