我存储个人资料图片的路径在生产模式下无法访问

Path where I store profile pictures is unreachable in production mode

我的目标是上传个人资料照片。我在 Node.js 中使用 multer 在开发模式下完成了此操作。 Multer 询问保存新图片的路径。

在开发模式下,我的 Angular 前端和 Node.js 后端在同一个文件中(项目结构见下文)。 Multer 中使用的目标路径适用于开发模式。

然后我分别部署了我的后端和前端,现在这条路径不起作用。我如何确保上传的个人资料图片最终出现在与开发时相同的地图中?

这是开发模式下的结构。 SRC 映射包含 Angular 前端代码,后端包含 Node.js 后端。

这是我用 Multer 用来存储上传的个人资料图片的路径。现在的问题是我将后端和前端分别部署到 Heroku,所以这条路径不再有效。

如何更改我的路径,以便我上传的个人资料图片仍然添加到此 assets/images/profile-pictures 地图?

The filesystem that Heroku provides is ephemeral: any changes you make to it will be lost the next time your dyno restarts. This happens frequently(每天至少一次)。

Heroku recommends storing them on a third-party service like Amazon S3. The multer-s3 library 不是将上传的文件存储在本地文件系统上,而是让您可以轻松地做到这一点。

存储文件后,您可以通过 Amazon 的 SDK 访问它们,或者如果您已相应地配置上传,则可以通过 HTTP 访问它们。常规 HTTP 访问可以是 authenticated 或匿名。