Lo que solemos hacer es subir archivos. La carpeta de subida es similar al archivo de subida, pero hay algunas diferencias. Esta vez hicimos la carpeta de subida y la registramos para su uso posterior.
Lo primero que debemos comprender son los tres elementos de la carga de archivos:
1. Método de envío de formulario: publicación (el método de envío de obtención tiene un límite de tamaño, la publicación no)
2. El atributo enctype del formulario: debe establecerse en multipart / form-data.
3. El formulario debe tener un elemento de carga de archivo: archivo, y el elemento de archivo debe recibir un valor de nombre
La carpeta de carga debe agregar un atributo webkitdirectory, como este:
<input id = "fileFolder" name = "fileFolder" type = "file" webkitdirectory>
En js, se puede juzgar si la cantidad de archivos en la carpeta y el tamaño de la carpeta cumplen con los requisitos. Aquellos que no cumplan con los requisitos no pueden ser enviados al fondo:
Plantilla HTML frontal
La lógica de seleccionar archivos, seleccionar carpetas, pegar archivos y carpetas
La diferencia al recibir carpetas en segundo plano es que se necesita MultipartHttpServletRequest
Paquetes y clases en el lado del servidor
La lógica de procesamiento de la página f_post.jsp
La lógica de generar nombres de archivos
El siguiente es el procesamiento realizado por la capa de servicio:
El módulo general se divide de la siguiente manera:
La lógica de la entidad de tipo de datos se procesa de la siguiente manera
La lógica en la base de datos backend básicamente usa las clases de entidad anteriores
La clase de operación de la tabla de datos de archivo es la siguiente
El efecto general después de la implementación es el siguiente
Efecto después de cargar la carpeta
Los datos de la carpeta guardados por el servidor y la estructura jerárquica son coherentes con la del cliente local. Esto es muy útil cuando se usa en un sistema OA o un sistema de disco de red.
La mayor parte de la lógica del código back-end es la misma y actualmente es compatible con MySQL, Oracle y SQL. Necesita configurar la base de datos antes de usarla, puede consultar este artículo que escribí: http://blog.ncmem.com/wordpress/2019/08/12/java-http%E5%A4%A7%E6%96%87 % E4% BB% B6% E6% 96% AD% E7% 82% B9% E7% BB% AD% E4% BC% A0% E4% B8% 8A% E4% BC% A0 /
Bienvenido a unirse al grupo para discutir juntos: 374992201