如何使用节点 api 在共享托管服务提供商上存储图像

How to store images on shared hosting provider with node api

我有一个 Node JS API 目前托管在 Heroku 免费套餐上,我正在使用 Postgres 数据库并使用 Heroku 的免费 Dyno。我最近添加了 multer 来存储图像,但我猜 Heroku 不允许在其免费层中使用它,所以我希望有什么方法可以将图像存储在共享主机上?我有 20GB 的 SSD space。我可以路由我的图像并将图像的路径存储在我的数据库中吗?我试图在互联网上搜索很多,但找不到任何相关信息。

首先是个好问题。

你是对的 Heroku 的免费层不保存本地文件,因为在免费层上托管的应用程序睡眠,这意味着服务器在不活动后停止 运行,在下次应用程序运行时发生这种情况访问它会从头开始重新启动服务器,它指的是最新的 git 提交或不包含图像的版本。

无论如何,您都需要为您的文件或图像提供存储服务。 我建议使用 cloudinary https://cloudinary.com/ Cloudinary 为您提供免费套餐,无需信用卡和 25GB 的文件存储空间。您可以查看那里的文档以上传和管理您的文件,或者您可以研究教程。您也可以使用包 multer-storage-cloudinary 使上传文件更容易一些,但您始终可以使用文档中显示的原始方法。

我建议也检查一下 AWS s3(简单存储服务) https://aws.amazon.com/s3/ 但是,这将需要您的信用卡信息才能注册,我认为有一个免费套餐可以使用一年。

希望对您有所帮助,祝您有个愉快的一天!