мое веб-приложение позволяет пользователю искать файлы в каталоге и возвращает ссылки на файлы, соответствующие определенному временному кадру.Позволяет загрузить файл + django
Пользователь может щелкнуть любую ссылку и просмотреть содержимое файла с помощью некоторого URL-адреса.
Я бы предпочел, чтобы пользователь мог щелкнуть ссылку и загрузить файл в свою систему, а не отображать содержимое файла на отдельной странице.
Вот что я до сих пор ...
download.html
<ul>
{% for file in match %}
<a href =/media/{{ file }}>{{ file }}</a>
<br></br>
{% endfor %}
</ul>
мы рассматриваем файл с этой точки зрения ...
def xsendfile(request, path):
response = HttpResponse()
response['Content-Type']=''
response['X-Sendfile']= smart_str(os.path.join(settings.MEDIA_ROOT, path))
return response
используя этот адрес ..
url(r'^media\/(?P<path>.*)$', views.xsendfile),
Я не уверен как справиться с этим или какой путь идти вниз
Любые указания очень ценятся! :)
вот мои изменения кода:
def xsendfile(request, path):
response = HttpResponse()
response['Content-Type']=''
response['Content-Disposition'] = "attachment; filename="+path
response['X-Sendfile']= smart_str(os.path.join(settings.MEDIA_ROOT, path))
return response
вы можете проверить свою реализацию – ajanakos
если ваша реализация не работает после изменения вашего кода, возможно, ваш сервер не использует 'mod_xsendfile', который необходим для этого. Если вы хотите абстрагировать механизм отправки файлов и не привязываться к конфигурации сервера, вы можете найти эту библиотеку django: https://github.com/johnsensible/django-sendfile – fixmycode