• User

    Immagini da database e loro rappresentazione

    Ciao, come da titolo ho una perplessità su come realizzare un sistema che permetta di presentare l'immagine, non come un file fisico ma come un elenco di dati online.
    Mi spiego: nel mio sito ci sono molte immagini, sono tutte nel database invece che fisicamente nel filesystem e questo mi sta creando non pochi problemi.
    In pratica il problema si pone nella loro rappresentazione all'interno dei metatag relativi alla loro rappresentazione in Facebook e Twitter, questi non accettano immagini come flusso data ( data:image/jpg,eccetera ) ma solo come file fisici.
    Ma se faccio questo mi ritrovo di nuovo con le immagini fisicamente presenti nel filesystem.
    Come lo risolvo?


  • User

    Ciao MiniGiochi,

    In genere, e' una pessima idea quella di salvare l'immagine direttamente nel database. Per una lista di motivi... stackoverflow.com/questions/561447/store-pictures-as-files-or-in-the-database-for-a-web-app

    Il mio suggerimento e' di salvare le immagini su disco sul tuo server e un riferimento ad esse (ie: uri) nel database. Onestamente, non vedo problema nel salvarle su disco. Facci sapere!

    :ciauz:


  • User

    Ma veramente nessuno di quegli argomenti trattati su Stackoverflow sembra interessarmi.
    Quanto al motivo dell'averle spostate nel database è facile, posso facilmente eliminare l'immagine associata al gioco eliminando la discussione, senza dover seguire il file fisico per doverlo poi eliminare.
    Rimane solo il problema che ti dicevo, ora comunque ci son le feste, dal 9 peró mi rimetto a caccia di una soluzione valida.


  • User

    Rimango dell'idea che salvare le immagini direttamente su db alla lunga rischi di appesantire e rallentare il database (come si evince dal link di StackOverflow). In che formato sono salvate sul database? Binary? Base64?

    Come si vede dalla documentazione di Facebook: (developers.facebook.com/docs/graph-api/reference/photo#Creating)

    The URL of a photo that is already uploaded to the Internet. You must specify this or a file attachment

    Se non vuoi salvare le immagini su disco, potresti avere uno script php tipo *pictures/picture.php?id=x *dove poi recuperi il parametro get, esegui una query sul database per recuperare l'immagine e usi una funzione php per riconvertirla in jpg.

    Ci dici che facebook non accetta immagini come flusso di dati, forse che controlli che l'url finsica con .jpg/.png o un'altra estensione valida? In tal caso puoi provare a "mascherare" l'url ocn mod rewrite o simile.