Форум сайта python.su
Доброго времени суток.
Пытаюсь сделать сохранение файла пользователем
f = open('/tmp/current.log', 'r')
dt = File(f)
response = HttpResponse(dt.read(), mimetype='text/plain')
response['Content-Disposition'] = 'attachment; filename=system.log'
return response
filename = '/tmp/current.log'
wrapper = FileWrapper(file(filename))
response = HttpResponse(wrapper, content_type='text/plain')
response['Content-Disposition'] = 'attachment; filename=system.log'
response['Content-Length'] = os.path.getsize(filename)
return response
Офлайн
Забавно, работает второй вариант если не указывать Content-Length
Почему именно так не понятно =|
Офлайн
Что такие File и FileWrapper? Зачем вы их используете?
Офлайн
DaevaornFileWrapper
Что такие File и FileWrapper? Зачем вы их используете?
Офлайн
А чем тебя не устраивает upload файлов через пост запрос в <form>
Зачем городить непонятные тебе враперы смысл которых тебе непонятен.
Попробуй проще сделать безвраперов
Офлайн
romankrvРома, ты вообще понял в чем вопрос или нет?
А чем тебя не устраивает upload файлов через пост запрос в <form>
Офлайн
exОтчего же. ЕМНИП атачменты идут через urlencoding в обязательном порядке. Так что если у Вас в логе есть пробелы, символы возврата каретки или не ascii символы - то длина будет не той, что в файле на диске. Я обычно никогда руками не выставляю ‘Content-Length’, так как контейнер/фреймворк его сами могут расчитать, причем с учетом всех ньюансов.
Забавно, работает второй вариант если не указывать Content-Length
Почему именно так не понятно
Офлайн