5

Estoy creando una aplicación en la que tendría una base de datos que los usuarios no pueden editar. Simplemente tiene datos y se muestra al usuario. Descubrí que no tengo que usar localstorage. Solo puedo agregar una base de datos al proyecto y es de solo lectura. Entonces lo hice y todo está bien. Ahora quiero agregar imágenes a mi aplicación y no estoy seguro de cuál es la mejor manera. Puedo agregar todas las imágenes a la carpeta, en la ruta del almacén de la base de datos a la imagen y es muy fácil y puede hacerlo ahora. O descubrí que puedo almacenar imágenes en la base de datos como imagen (byte []). ¿Qué es mejor? ¿Las imágenes en la base de datos serían más pequeñas? ¿Sería cargar imágenes más rápido? Si las imágenes en la base de datos son una mejor solución, ¿puedo agregar imágenes de manera sencilla a mi base de datos existente? ¿Hay algún artículo para hacer esto en winforms? GraciasImágenes en la base de datos o en la carpeta del proyecto como recursos

Edit: Me alegra que mi pregunta tenga tantas respuestas y opiniones. Quiero explicar más mis necesidades. Mi aplicación debe tener alrededor de 150 imágenes y la imagen debe tener un tamaño de 150px y 100px. Quiero que la aplicación funcione sin conexión a Internet. Podría conectarse para actualizaciones, pero eso es todo. De nuevo, gracias por todas las opiniones :)

+0

No almacene las imágenes en un servidor si NO TIENE que hacerlo. Cargar contenido en la web es lento comparado con el guardado directo en su dispositivo – MyKuLLSKI

Respuesta

1

Hay un montón de 'si', 'peros' y 'maybes' acerca de dónde lo colocaste para poner tus imágenes y no creo que haya una manera correcta o incorrecta.

Una cosa que vale la pena mencionar es que si la aplicación es crítica para el negocio con alta disponibilidad, los almacenaría en la base de datos, simplemente porque se puede hacer una copia de seguridad con el resto de los datos. Las bases de datos se pueden duplicar, etc. por lo que tener todas las imágenes tratadas como 'datos' puede ser beneficioso. Además, si las cosas se ponen grandes y se emplea una granja de servidores web, equilibradores de carga, etc., es útil cuando las imágenes viven en un solo lugar.

Para mí, me gustaría ir con la base de datos. Pero todo depende de la escala de su aplicación.

+0

Me alegran todas las respuestas. Después de pensar y elegir la base de datos y yo elijo tu respuesta. Gracias –

+0

Me alegra que haya encontrado esto útil. –

0

carpeta web. también piense en cargarlos remotamente desde un servidor en la nube como Amazon S3 para liberar el acceso a su propio servidor

1

Personalmente almacenaba todas las imágenes en almacenamiento aislado y en la base de datos almacenaba la ruta a la imagen.

Me almacenar todas las imágenes como un byte [] en el IsolatedStorage

3

Para nuestra aplicación, encontramos un enfoque híbrido que funcionó mejor. Configuramos nuestro entorno SQL para admitir FILESTREAM y luego importamos todas nuestras imágenes. Eso nos da la flexibilidad de tener las imágenes 'en sql' mientras aún almacenamos las imágenes reales en el disco. Es una solución rápida que también puede funcionar para usted.

0

la mejor opción es la de almacenar las imágenes en carpeta web, si los guarda en la base de datos, que será un desperdicio de tiempo retreiving desde DB, ya que toma más tiempo

+2

No estoy de acuerdo. Ir a la Web NO es rápido – MyKuLLSKI

1

No hay nada malo con las respuestas que ya están aquí, pero en realidad depende de lo que está tratando de lograr y cómo está configurado actualmente.

Lo mejor sería utilizar una red de entrega de contenido para imágenes estáticas para facilitar la carga de su servidor web.

Puede servir desde la base de datos o como archivo de recursos en la estructura de archivos a su gusto. Si las imágenes son estáticas, no olvide agregar el almacenamiento en caché apropiado, que para el contenido estático sería muy futuro.

Si está renderizando imágenes, definitivamente mantendría las imágenes en la base de datos para permitir el acceso a las imágenes desde cualquier cantidad de servidores web.

Si lo desea, puede desarrollar esto aún más conservando las imágenes utilizadas más recientemente en la memoria o la tienda en el sistema de archivos local para que no tenga que obtener el archivo de la base de datos todo el tiempo.

Cuestiones relacionadas