Sto usando ASP.NET MVC 4 e SQL Server 2012. Non ho problemi ad andare a nessuna di queste soluzioni, ma voglio sapere quale si adatta meglio alla particolare applicazione che sto creando ora.
Sto facendo una specie di applicazione di sistema di libreria. Le uniche immagini che l'applicazione memorizzerà sono:
- Immagini del profilo degli utenti (1 per utente)
- Immagini del profilo delle biblioteche (1 per libreria)
- Immagini degli autori di libri (1 per autore)
- Immagini di copertina del libro (1 per libro)
Nessuna delle immagini memorizzate dovrà essere di alta qualità. Quindi ovviamente le immagini non sono una grande parte dell'applicazione e, considerando questo, sto attualmente memorizzando le immagini nel mio database. Anche se ho notato qualcosa che ritengo sia di grande aiuto.
Le immagini vengono recuperate utilizzando un Url.ActionLink
che porta a un metodo di azione Controller che accetta (per esempio) un parametro bookId prima di raggiungere il database, recuperando l'immagine di quel libro e inviandola indietro. Quindi, se un utente dovesse cercare dei libri e alla fine otterrà un elenco di libri insieme alle loro immagini prima di lui, ci sarà una nuova chiamata al metodo di azione che recupera le immagini e una nuova query al database per ogni immagine elencata.
C'è un modo migliore di gestirlo? Dovrei riconsiderare il mantenimento delle mie immagini nel database o non è un grosso problema?
EDIT: non considererebbe questa domanda un duplicato perché appartiene a un tipo specifico di un'applicazione che gestisce pochissimi dati di immagine rispetto a qualsiasi tipo di un'applicazione (come nel < a href="https://softwareengineering.stackexchange.com/questions/105191/what-are-the-best-tips-for-storing-images-in-a-database"> domanda collegata ). Ovviamente, quando non sei sicuro di quanti dati di immagine stai memorizzando, è sempre meglio memorizzare le immagini sul file system. Questo non è un caso. La natura delle risposte qui rispetto alle risposte qui lo mostra.