下载文件并将其保存到Heroku dyno文件系统中



我有一个托管在Heroku dyno上的Python程序,我想在其中定期下载一个文件(来自外部URL的img(,并将其保存在某个地方供程序访问。

这有可能吗?如果是,我如何定义我的应用程序在Heroku上访问这些文件的路径?

你没有提到你将如何处理下载的图像,也没有提到你的应用程序需要多长时间。请查看Heroku的文档,了解原因。注意这一行:

S3允许您从应用程序卸载静态文件的存储。这对Heroku来说至关重要,因为你的应用程序的dynos有一个短暂的文件系统。这意味着,每当dyno重新启动或被替换时,所有不属于应用程序段塞的文件都会丢失(这种情况每天至少发生一次(。

基本上,一旦重新启动应用程序,下载的映像就会消失。如果您的应用程序需要图像超过24小时,图像也会消失,因为在此期间dyno将重新启动。

然而,在经历了上述所有原因之后,如果您仍然认为AmazonS3没有必要,并且希望直接从dyno的文件系统访问图像,那么请查看以下stackoverflow帖子:

import os
os.path.abspath(os.getcwd())

然后,您可以使用当前工作目录来构建保存图像的路径。