2012-05-11 10 views
6

¿Cuál es la mejor manera de almacenar información sobre un BLOB en la base de datos? ¿La extensión de archivo (.txt, .rar) o el tipo MIME?SQL: ¿Guardar tipo MIME o extensión?

Además, ¿qué es mejor: almacenar el nombre de archivo con o sin extensión ("archivo" o "archivo.txt")?

Lo que estoy hablando principalmente es una aplicación de escritorio, no una aplicación web.

Respuesta

6

Si estamos hablando de almacenamiento de carga de archivos, por ejemplo, siempre voy a almacenar los siguientes campos:

  • Archivo - varbinary (max)
  • Nombre de archivo - nvarchar (255) (incluyendo extensión de archivo, por ejemplo, "miarchivo.txt")
  • FileType - nvarchar (255) (el tipo MIME)

el tipo MIME es importante si se trata de una aplicación basada en web y desea permitir la descarga de los archivos en algún punto de interés Nuevo Testamento. Tener el tipo MIME le permite decirle al navegador cómo manejar mejor el archivo.

Así que la respuesta directa a su pregunta es guardar el tipo MIME y la extensión. El motivo es que no puede asegurarse de que se haya proporcionado la extensión de archivo correcta, por lo que necesita el tipo MIME para identificar el tipo de archivo. Pero debe almacenar la extensión con el nombre de archivo para poder proporcionar un nombre de archivo válido en el momento de la descarga.

+0

Gracias por sus pensamientos, parece razonable. De lo que principalmente estoy hablando es de una aplicación de escritorio, no de una aplicación web. – SeToY

+1

@SeToY: Todavía almacenaría siempre los 3 bits de datos, incluso si no los necesita en el minuto. Porque si no lo haces desde el principio, será difícil obtener la información más tarde. En este caso, debe estar preparado para que sus requisitos cambien. Tal vez proporcione un portal web para los datos, tal vez decida hacer un 'lector de archivos de aplicaciones'. – musefan

+0

De acuerdo, entonces almacenar el tipo MIME siempre es mejor que simplemente almacenar la extensión. ¡Gracias! :) – SeToY