【问题标题】:Return binary data by webob.Response通过 webob.Response 返回二进制数据
【发布时间】:2012-05-20 10:54:22
【问题描述】:

我试图在 webob.Response 中返回二进制文件,但发生错误

file = open(filePath, 'rb')
buffer = file.read()
file.close()

self._response.body = buffer

提供追溯

"F:\Program Files\Python32\python.exe" G:/development/projects/AutoBlog/main.py
Traceback (most recent call last):
File "F:\Program Files\Python32\lib\wsgiref\handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
File "G:/development/projects/AutoBlog/main.py", line 30, in application
    print(wsgiApplication)
File "F:\Program Files\Python32\lib\site-packages\webob\response.py", line 218, in __str__
    parts += ['', self.text if PY3 else self.body]
File "F:\Program Files\Python32\lib\site-packages\webob\response.py", line 383, in _text__get
    return body.decode(self.charset, self.unicode_errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
activate.adobe.com - - [20/May/2012 14:52:49] "GET /res/images/i.jpg HTTP/1.1" 500 59

【问题讨论】:

    标签: python python-3.x wsgi webob


    【解决方案1】:

    看起来webob 将您的身体视为一个字符串,而它实际上是一个二进制对象。也许您需要设置内容类型?

    【讨论】:

    • 如何设置内容类型以及设置为什么值?
    猜你喜欢
    • 1970-01-01
    • 2013-08-10
    • 2012-01-02
    • 2017-01-22
    • 1970-01-01
    • 2014-04-12
    • 2011-10-14
    • 1970-01-01
    • 2017-03-14
    相关资源
    最近更新 更多