Я работаю над webapp с помощью Turbogears 2.3.3
В моем приложении пользователи получат набор направлений, и им нужно будет загрузить некоторые файлы соответственно.
Важно, чтобы они могли загружать файлы с их оригинальным именем, которое будет в utf8. Вот мой метод для загрузки файлов: Ответ Turbogears - отправка utf-8 filename
import os
from webob.static import FileApp
from tg import expose, request, use_wsgi_app, response
....
@expose()
def download(self,**kw):
response.headerlist.append(('Content-Disposition','attachment'))
path_to_file = os.path.join(os.path.dirname(dfuswebapp.__file__), 'PrintFiles')
file_with_path = os.path.join(path_to_file,kw['filename'])
file = FileApp(file_with_path)
return use_wsgi_app(file)
Когда я пытаюсь получить файл как это, имя файла «загрузить» с расширением исходного файла.
Если я пытаюсь этот код:
response.headerlist.append(('Content-Disposition','attachment;filename=%s'%str(kw['filename'])))
Я получаю сообщение об ошибке, если квт [ «имя файла»] в UTF-8, что большинство моих файлов будет. Есть ли способ иметь исходные имена файлов?
Спасибо за помощь