Is image worth a thousand lines?
You have an idea for a startup; maybe you are already working on it. You have scaffolded your MVP, and everything works fine under a minimal load. You have users who can do things in your app. And now you want to accept images from them—so anyone can upload an avatar or a profile page cover. Everyone does it, right? Why should not you?
By now you probably know that image upload is not a walk in the park. So many questions arise instantly, mainly:
- Where do I keep my images? Locally or remotely?
- How do I handle image transformations? Where do I keep all versions of the same image?
- How do I plug everything into my existing app?
- Last but not least: how do I protect myself against image bombs (the sub-class of decompression bombs)?
Sure, there is a plethora of ready-made solutions available. So you pick one.
And everything goes smoothly until you end up with few thousand images on your hand—and suddenly your design requirements change.