Я пишу приложение Django, которое позволяет вам загружать файл после выполнения некоторых требований (например, вы должны войти в систему). В противном случае файл должен быть недоступен.
Служить файлу через Apache не получится: я должен проверить в базе данных разрешения пользователя. Кроме того, у меня нет разрешения на изменение конфигурации Apache.
Итак, я хочу прочитать файл в Django, затем установить соответствующие заголовки и отправить его клиенту.
Я использовал информацию на этой странице в руководстве по Django для заголовков.
У меня есть следующий код:
#<- check persmissons here, continue if allowed ->
#read the pdf file
location = 'file.pdf'
file = open(location, 'r')
content = file.read()
file.close
#serve the file
response = HttpResponse(content, mimetype='application/pdf')
response['Content-Disposition'] = 'attachment; filename=filename.pdf'
return response
Однако загруженный файл кажется поврежденным: его нельзя открыть в Adobe Reader.
Я думаю, что, возможно, это какая-то проблема с кодировкой, но я не могу понять это.
Любая помощь приветствуется:)