Я использую Flask для подачи заявки. До недавнего времени Flask обслуживал файлы для загрузки с использованием потока ответов.
Из-за увеличения количества ошибок рабочих, теперь мне нужно перенаправить запрос во внешнее местоположение, где файлы хранятся в формате 7249ed01-9c3d-45fe-895c-5a27db785d2d.tar.gz
имени файла. Само перенаправление работает, но имя файла, отображаемое в диалоговом окне сохранения в браузере, по-прежнему 7249ed01-9c3d-45fe-895c-5a27db785d2d
.
Пример кода приведен ниже.
@app.route("/download/<filename>")
def view_file_download(filename):
# filename can be ignored, used to retrieve info from db
url = "https://example.com/7249ed01-9c3d-45fe-895c-5a27db785d2d.tar.gz"
filename_orig = "example.tar.gz"
filesize = 123456
res = flask.redirect(url, code=303)
res.headers.set("Location", url)
res.headers.set("Content-Disposition", "attachment", filename=filename_orig)
res.headers.set("Content-Length", filesize)
return res