如何将BytesIO对象附加到Webob.Response对象

时间:2016-03-16 18:21:06

标签: python webob bytesio

我将Webob.Response对象从我的服务器返回到http请求。服务器将BytesIO对象放在一起。如何正确地将BytesIO对象附加到Webob.Response对象?

我试过了:

app_iter = FileIter(BytesIO_Object)
return Response(
                app_iter=app_iter,
                last_modified=last_modified,
                content_length=content_length,
                content_type=content_type,
                content_encoding=content_encoding,
                content_disposition=content_disposition,
                accept_ranges=accept_ranges,
                conditional_response=True)

没有运气,当我在客户端打印response.content时,它只是空的

我也尝试过:

return Response(self.file, '200 ok', content_type='text/html')

但是会引发错误:

  

文件“/home/abdul/abdul/scripting-120218/local/lib/python2.7/site-packages/webob/response.py”,第147行, init       self._headerlist.append(('Content-Length',str(len(body))))   TypeError:类型为'_io.BytesIO'的对象没有len()

1 个答案:

答案 0 :(得分:1)

好吧终于明白了。您可以将其传递给FileIter

app_iter = FileIter(BytesIO_Object.read())