2017-01-22 1 views
0

@ 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-\ (부분적으로 "일부 데이터 [이 부분]") 부분이 포함되어 있습니다. 오류가 발생한 이유는 무엇입니까? 그것을 고치는 방법?

답변

0

문제가 해결되었습니다. urlencode Content-Disposition 헤더의 파일 이름 :

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