2012-05-11 12 views
6

Qual è il modo migliore per memorizzare le informazioni su un BLOB nel DB? File-Extension (.txt, .rar) o MIME-Type?SQL: salvataggio di tipo MIME o estensione?

Inoltre, cosa c'è di meglio: memorizzare il nome file con o senza estensione ("file" o "file.txt")?

Quello di cui sto parlando principalmente è un'applicazione desktop, non un'applicazione Web.

risposta

6

Se stiamo parlando di archiviazione upload di file, ad esempio sarò sempre memorizzare i seguenti campi:

  • File - varbinary (MAX)
  • FileName - nvarchar (255) (inclusa l'estensione di file, ad esempio "myfile.txt")
  • FileType - nvarchar (255) (il tipo MIME)

il tipo MIME è importante se si tratta di un'applicazione web based e si desidera consentire il download dei file ad un certo POI nt. Avere il tipo MIME ti consente di dire al browser come gestire al meglio il file.

Quindi la risposta diretta alla tua domanda è di salvare sia il tipo MIME che l'estensione. Il motivo è che non è possibile garantire che sia stata fornita l'estensione corretta del file, quindi è necessario il tipo MIME per identificare il tipo di file. Ma dovresti memorizzare l'estensione con il nome del file in modo da poter fornire un nome file valido al momento del download.

+0

Grazie per i tuoi pensieri, sembra ragionevole. Quello di cui sto parlando principalmente è un'applicazione desktop, non un'applicazione web. – SeToY

+1

@SeToY: Conserverei sempre tutti i 3 bit di dati anche se non ne hai bisogno al minuto. Perché se non lo fai fin dall'inizio sarà difficile ottenere le informazioni in seguito. In questo caso dovresti essere pronto a cambiare le tue esigenze. Forse fornisci un portale web per i dati, forse decidi di fare un 'in app reader reader'. – musefan

+0

Ok, quindi memorizzare il tipo MIME è sempre meglio che archiviare semplicemente l'estensione. Grazie! :) – SeToY