因此,尝试在Python 3.2中通过httplib2发布压缩文件。我收到以下错误:
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 :(得分:0)
解决方案是提供"Content-Length"
标题,这显然不需要httplib2来检查长度。