Donde guardar las imagenes subidas de una tienda online java

Imagen de la tienda en línea
PHP es ampliamente utilizado en el desarrollo de aplicaciones del lado del servidor. En un sitio web dinámico, subir archivos para mantenerlo actualizado es una rutina. Y PHP maneja eficientemente este proceso. Puede utilizar PHP para manejar la carga de múltiples archivos en el servidor y mostrarlos en un sitio web dinámico.
PHP se utiliza con casi todo el software popular de bases de datos. MySQL es una de las bases de datos más populares usadas en aplicaciones PHP. Existen muchas otras bases de datos como PostgreSQL, SYBASE, Oracle Database, etc. que pueden conectarse fácilmente con sus aplicaciones PHP.
Una imagen puede ser cargada y mostrada en su sitio web PHP de múltiples maneras. El método más común para lograrlo es subiendo la imagen al directorio del servidor y actualizando su nombre en la base de datos. Este método es eficiente porque en este caso, la imagen no ocupará espacio dentro de la base de datos, y esto también hará que su página web cargue más rápido. Otra forma es insertando la imagen en la base de datos directamente, en lugar de subirla al servidor. Este método no es recomendable porque las imágenes ocupan mucho espacio en la base de datos, aumentando así su tamaño. Esto también ralentizará la carga de sus páginas web.
Almacén de archivos planos para imágenes
En la mayoría de los sitios web, a menudo tratamos con datos multimedia como imágenes, archivos, etc. En Django, podemos tratar con las imágenes con la ayuda del campo modelo que es ImageField. En este artículo, hemos creado la aplicación image_app en un proyecto de ejemplo llamado image_upload. El primer paso es añadir el siguiente código en el archivo settings.py. Prerrequisito - Introducción a Django Python3MEDIA_ROOT = os.path.join(BASE_DIR, 'media')MEDIA_URL = '/media/'MEDIA_ROOT es la ruta del servidor para almacenar archivos en el ordenador. MEDIA_URL es la URL de referencia para que el navegador acceda a los archivos a través de Http. En urls.py debemos editar la configuración asífrom django.conf import settings
La mejor forma de almacenar imágenes para un sitio web
Estoy escribiendo una aplicación que permite a los usuarios subir imágenes al servidor. Espero unas 20 imágenes al día, todas en formato jpeg y probablemente sin editar ni redimensionar. (Esta es otra pregunta, cómo cambiar el tamaño de las imágenes en el lado del servidor antes de almacenar. Tal vez alguien puede caer por favor un recurso .NET para que en el comentario o así).
Me gusta a) porque puedo reubicar fácilmente los archivos y sólo tengo que cambiar la entrada de la tabla. Por otro lado no me gusta almacenar datos de negocio en el servidor web y no quiero conectar el servidor web a cualquier otra fuente de datos que contenga datos de negocio (por razones de seguridad).
Hay algunos problemas con el almacenamiento de archivos en una base de datos - los archivos son generalmente mucho más grandes que la fila media - los conjuntos de resultados que contienen muchos archivos grandes consumirán mucha memoria. Además, si utiliza un motor de almacenamiento que emplea bloqueos de tabla para las escrituras (ISAM, por ejemplo), la tabla de archivos podría bloquearse con frecuencia en función del tamaño/velocidad de los archivos que almacene allí.
En cuanto a la seguridad - por lo general almacenar los archivos en un directorio que está fuera de la raíz del documento (no accesible a través de una petición http) y servir a través de una secuencia de comandos que comprueba la autorización adecuada en primer lugar.
Mejor forma de almacenar imágenes en una aplicación web
La aplicación inicial ya contiene algunas clases que se encargan de almacenar y cargar en disco los archivos subidos. Todas ellas se encuentran en el paquete com.example.uploadingfiles.storage. Las utilizarás en tu nuevo FileUploadController. El siguiente listado (de src/main/java/com/example/uploadingfiles/FileUploadController.java) muestra el controlador de subida de archivos:
En un escenario de producción, lo más probable es que almacene los archivos en una ubicación temporal, una base de datos, o tal vez un almacén NoSQL (como GridFS de Mongo). Es mejor NO cargar el sistema de archivos de su aplicación con contenido.
Necesitarás proveer un StorageService para que el controlador pueda interactuar con una capa de almacenamiento (como un sistema de archivos). El siguiente listado (de src/main/java/com/example/uploadingfiles/storage/StorageService.java) muestra esa interfaz:
Puedes ejecutar la aplicación desde la línea de comandos con Gradle o Maven. También puedes construir un único archivo JAR ejecutable que contenga todas las dependencias, clases y recursos necesarios y ejecutarlo. La construcción de un jar ejecutable hace que sea fácil de enviar, versión, y desplegar el servicio como una aplicación en todo el ciclo de vida de desarrollo, a través de diferentes entornos, y así sucesivamente.