Implementación de tecnología de carga y descarga de archivos JAVA de gran tamaño (por encima de 100G)

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

Supongo que te gusta

Origin blog.csdn.net/weixin_45525177/article/details/108474065
Recomendado
Clasificación