gpt4 book ai didi

python - 如何在 Flask 中生成临时下载?

转载 作者:行者123 更新时间:2023-12-03 17:02:29 24 4
gpt4 key购买 nike

我有一个 Flask 应用程序,可以让用户下载 MP3 文件。如何使下载的 URL 仅在特定时间段内有效?

例如,不要让任何人直接访问example.com/static/sound.mp3。并访问该文件,我想验证每个请求以防止不必要的带宽量。

我正在使用 Apache 服务器,但如果更容易实现,我可能会考虑切换到另一个服务器。另外,我不想使用 Flask 来提供文件,因为这会强制 Flask 直接将文件提供给用户,从而导致性能开销。相反,它应该使用 Apache 来提供文件。

最佳答案

您可以使用 S3 通过临时 URL 托管文件。使用 Flask 将文件上传到 S3(使用 boto3),但使用动态生成的临时 key 。

示例网址:http://yourbucket.s3.amazon.com/static/c258d53d-bfa4-453a-8af1-f069d278732c/sound.mp3
然后,当你告诉用户在哪里下载文件时,给他们那个 URL。然后,您可以使用 cron 作业在时间段结束时删除 S3 文件。

这样,Amazon S3 直接提供文件,从而完全绕过您的 Flask 服务器。

关于python - 如何在 Flask 中生成临时下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32772343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com