Скачать файл и перенаправить в ответ

-1

Я хочу сделать ответ, который будет перенаправлен на определенный URL-адрес и загрузить файл. Чтобы загрузить файл, я использую:

    content = "Example content"
    filename = "example-file-name".
    response = HttpResponse(content=content,
                                    content_type='text/plain')
    response['Content-Disposition'] = 'attachment; filename={0}'.format(filename)
    return response

Чтобы перенаправить URL-адрес:

 response = HttpResponseRedirect(redirect_to=example_url)

Есть ли способ сделать обе вещи в одном ответе?

  • 0
    К сожалению, это невозможно, вы можете возвращать только один HTTP-ответ за раз. Вы можете сделать это наоборот, перенаправить и затем загрузить файл или использовать AJAX.
Теги:

1 ответ

1
Лучший ответ

Going AJAX может быть решением, загрузить файл через AJAX, а затем инициировать перенаправление после завершения загрузки.

Загрузка AJAX может быть облегчена с использованием JQuery или связанных с ним плагинов, сообщение для справки.

Перенаправление может быть достигнуто с успехом на стороне клиента, как показано ниже.

 $.fileDownload('some/file.pdf')
    .done(function () { window.location.href = 'REDIRECT_URL'; })
    .fail(function () { alert('File download failed!'); });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню