DEV Community

Shan Asif
Shan Asif

Posted on

Avoid storing files in the Database: Here is what you should do.

If you're storing entire .jpg, .png, or .pdf files directly in your database...

You might want to pause. πŸ›‘

Storing full files as BLOBs or Base64 in your DB can:

β†’ Slow down performance

β†’ Inflate database backups

β†’ Make scaling a nightmare

What’s a better way?

Store only file metadata in your database like:

β†’ filename,

β†’ mimetype

β†’ size

β†’ key (if exists)

β†’ and most importantly, the file URL/path (For Quick Lookups)

Then store the actual files in:

β†’ Object storage (S3, Firebase Storage, Digital Ocean Droplet etc.)

β†’ Your own secure file server

This pattern:

β†’ Improves security

β†’ Speeds up performance

β†’ Makes file management modular and scalable

Bonus: Always store the MIME type (image/jpeg, image/png, application/pdf, etc) in the database instead of plain extensions like PDF, PNG.

Top comments (0)