La construcción básica de SpringMVC ha sido escrita en mi artículo anterior. Este artículo explica principalmente cómo usar SpringMVC para cargar archivos en los formularios y cargar varios archivos simultáneamente.
Descargue el código fuente del proyecto de carga de archivos: demostración
1. Archivo de configuración:
SpringMVC usa multipartfile para cargar archivos, por lo que primero debemos configurar MultipRartesolver: para procesar el archivo en el formulario
<
Los atributos se explican en detalle:
2. Cree un formulario de carga simple:
<Body> <H2> File Subload Instance </h2> <form action = "fileUpload.html" método = "post" enctype = "multipart/form-data"> seleccione archivo: <input type = "file" name = "file"> <input type = "subt" value = "enviar"> </form> </body>
Tenga en cuenta que debe agregar enctype = "multipart/formy-data" a la etiqueta de formulario para indicar que el formulario debe procesar el archivo. Esto es lo más básico. Muchas personas olvidarán el error de buscar el programa después de un error de carga, pero olvida este punto.
3. Clase de control de carga de redacción
1. Cree una clase de control: fileUploadController y una página que devuelve la lista de resultados.jsp
2. Escriba la acción para enviar el formulario:
// Obtenga la solicitud de la configuración predeterminada de Spring a través de la anotación automática de Spring @autewired private httpservletRequest solicitud; / *** * Sube el archivo con la anotación @RequestParam para especificar que el archivo en el formulario es multipartfile * * @param archivo * @return */ @RequestMapping ("fileUpload") public string fileUpload (@RequestParam ("archivo") archivo multipartfile) {// determinar si el archivo está vacío if (file.iseMempty () {string {string {string {string {string {string {string {string {string {string {string {string {string {string {string {string {string {string {string {string {string {string string arregy (string {string {string string file fley) {string stritd lat// file) filePath = request.getSession (). GetServletContext (). GetRealPath ("/") + "upload/" + file.getOriginalFileName (); // transferir (nuevo archivo (filePath)); } catch (Exception e) {E.PrintStackTrace (); }} // redirección return "redirect: /list.html"; }/*** * Lea todos los archivos en el archivo cargado y return * * @return */@requestmapping ("list") public modelandView list () {String filePath = request.getSession (). GetServletContext (). GetRealpath ("/") + "Cargue/"; ModelandView mav = new ModelAndView ("List"); Archivo uploadDest = nuevo archivo (FilePath); Cadena [] filenames = uploadDest.list (); for (int i = 0; i <filenames.length; i ++) {// imprime el nombre del archivo System.out.println (FileNames [i]); } return mav; } 3. Use SpringMVC Annotation Soldparam para especificar los parámetros del archivo en el formulario;
4. Especifique una ruta de proyecto web para guardar archivos
5. Método de transferencia (archivo Dest) de múltiple a la ruta especificada.
En este punto, la carga básica del archivo ha terminado.
Algunos métodos comúnmente utilizados de la clase multiparto:
4. Sube varios archivos.
Cargar múltiples archivos es realmente muy simple. Al igual que cargar otros mismos parámetros, como la casilla de verificación, use el mismo nombre en el formulario y luego defina la clase de parámetros de múltiples filmes como una matriz en la acción.
Siguiente implemento:
1. Cree un formulario que cargue múltiples archivos:
<body> <h2> cargue múltiples instancias de archivo </h2> <form de action = "filesUpload.html" método = "post" enctype = "multipart/form de formulario-data"> <p> seleccione Archivo: <input type = "file" name = "files"> <p> Seleccione archivo: <input type = "file =" files ">> <p> seleccione Archivo: Archivo: File =" File "File" File "Files" type = "enviar" value = "enviar"> </form> </body>
2. Escriba una acción para procesar el formulario y escribir un método separado para guardar el archivo para facilitar el intercambio:
/**** Guardar archivo* @param archivo* @return*/private boolean saveFile (archivo multipartfile) {// determina si el archivo está vacío if (! File.isempty ()) {try {// archivo guardar string filePath = request.getSession (). GetServletContext (). GetRealpath ("/") + "Upload/" + File.getorigalEneMe ();); // transferir (nuevo archivo (FilePath)); devolver verdadero; } catch (Exception e) {E.PrintStackTrace (); }} return false; } 3. Escribir acción:
@RequestMapping ("filesUpload") public String files SilsupPload (@RequestParam ("files") multipartfile [] archivos) {// juzga la matriz de archivos no puede estar vacía y su longitud es mayor que 0 if (files! = Null && files.length> 0) {// bucle para obtener el archivo en el archivo matriz para (int i = 0; i <files. archivos [i]; // Guardar el archivo saveverfile (archivo); }} // redirección return "redirect: /list.html"; }Finalmente, ejecute el proyecto para cargar el archivo:
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.