Уведомления

Группа в Telegram: @pythonsu

#1 Июль 13, 2011 00:13:17

Alex_Kutsan
От:
Зарегистрирован: 2010-03-25
Сообщения: 150
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачиванеи файлов.

('^data/(.+)$', files),
Что должна возвращать функция files чтоб при переходе по ссылке скачивать фаил?



Офлайн

#2 Июль 13, 2011 00:36:55

kachayev
От:
Зарегистрирован: 2011-07-08
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачиванеи файлов.

HttpResponse должна вернуть, как и обычно.
Только нужно правильно указать mimetype и добавить заголовок Content-Disposition. Например,

response = HttpResponse(mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=my.pdf'
## ...
return response



Офлайн

#3 Июль 20, 2011 19:34:26

Alex_Kutsan
От:
Зарегистрирован: 2010-03-25
Сообщения: 150
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачиванеи файлов.

А если я не знаю точно какой тип файла?
И где должен хранится это т самый my.pdf



Офлайн

#4 Июль 21, 2011 10:38:38

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2267
Репутация: +  41  -
Профиль   Отправить e-mail  

Скачиванеи файлов.

def show_attachment(request, hash):
attachment = get_object_or_404(Attachment, hash=hash)
file_data = file(attachment.get_absolute_path(), 'rb').read()
response = HttpResponse(file_data, mimetype=attachment.content_type)
response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(attachment.name)
return response
я так делал (как сейвится можешь глянуть на https://bitbucket.org/slav0nic/djangobb/src/4d897972bfeb/djangobb/djangobb_forum/forms.py#cl-51)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version