Python龙卷风编码异常

时间:2017-01-22 09:44:22

标签: python tornado

我通过@ tornado.web.stream_request_body装饰器接收文件并保存。 但如果我尝试下载一个文件,我会收到异常:

'latin-1' codec can't encode characters in position 42-47: ordinal not in range(256)

排队 龙卷风处理程序的self.flush()

我看到数据包含部分为\x00word/_rels/document.xml.relsPK\x01\x02-\(b“某些数据[此部分]”) 也许这就是错误发生的原因?如何解决?

1 个答案:

答案 0 :(得分:0)

我解决了问题。在Content-Disposition标题中的urlencode文件名:

self.set_header('Content-Disposition', 
    'attachment; filename=' + urllib.parse.quote(file_name, safe=""))