2016-02-23 4 views
0

Рассмотрим следующий фрагмент кода в целях ДжангоДжанго HttpResponse - открыть объектный файл в редакторе по умолчанию

def serve_file(request) 
    path = 'C:/path_to_file/test.html' 
    file_name = os.path.basename(path) 
    response = HttpResponse(path) 
    response['Content-Disposition'] = 'attachment; filename={0}'.format(file_name) 
    return response 

Файл подается в ответ и браузер спрашивает хочу ли я открыть, но когда она открывает в редактор по умолчанию, он открывается из «Временных файлов Интернета». Как я могу это открытый от своего первоначального места в «C:/путь_к_файла /»

Заранее спасибо

Рут

ответ

2

Там фундаментальный разрыв здесь. Когда Django обслуживает файл, даже если он находится на вашем собственном компьютере, браузер должен загрузить его, прежде чем он сможет получить доступ. Таким образом, фактический файл, который будет открыт, находится не в исходном C:/... месте, а в любом каталоге, в который был загружен файл.

Если вам нужны пользователи вашего сайта, чтобы иметь возможность редактировать файлы, которые сохраняются на вашем сервере, для этого потребуется гораздо больше работы, чем это. Загрузка файла создает его копию на компьютере пользователя.

Смежные вопросы