Since Heroku does not keep my uploaded files from the deployed link after a day, I had to find a solution to this. Because their file system is ephemeral, which I learned the hard way, I had to find a cloud service that would store my uploaded photos.
Read more from Heroku on what it means to be ephemeral and their suggestions on how to store uploaded files.After googling online for suggestions, I went with a free plan with Cloudinary. Their Node.js SDK documentation is very thorough. You can find specific documentation utilizing Node for Cloudinary with the following link:
https://cloudinary.com/documentation/node_integration, which I used as a reference multiple times.
I really like Cloudinary's editing features. Once you create an account and have uploaded some photos, you can edit and use their filter effects, quickly crop and use other developer tools.
There are a few other Cloudinary plans that are upgraded versions of the free plan. As of right now, I don't foresee using more than the limit of the free plan. However, I saw that Heroku does suggest using S3 for storing photos in their own docs but I really think that AWS' documentation can be so confusing to weed through, at least for me it is. Once I've successfully learned to use AWS' services, I'll definitely write a blog entry about it.
After weeding through a bunch of forums and blogs about Multer and Cloudinary used together, this particular blog entry from another developer really helped me out so I wanted to share it here. It's a spot-on implementation resource for Cloudinary using Node, Express and Multer:
https://dev.to/itsmefarhan/cloudinary-files-images-crud-operations-with-nodejs-express-multer-2147Read about my
suggested resources for using Multer on this blog entry.