2017-01-22 2 views
0

Я получаю файлы от декоратора @ tornado.web.stream_request_body и сохраняю его. Но с одним файлом, если я пытаюсь загрузить его, я получаю исключение:Исключение кодирования торнадо Python

'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 «некоторые данные [эта часть]») Возможно, поэтому возникла ошибка? Как это исправить?

ответ

0

я исправлю проблема. urlencode имя файла в заголовке Content-Disposition:

self.set_header('Content-Disposition', 
    'attachment; filename=' + urllib.parse.quote(file_name, safe="")) 
Смежные вопросы