Este ejemplo comparte el código específico de SpringMVC usando MultipartFile para implementar la carga de archivos para su referencia. El contenido específico es el siguiente
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:
defaultEncoding = "UTF-8" es el formato de codificación solicitado, ISO-8859-1 predeterminado
maxuploadsize = "5400000" es el tamaño del archivo cargado, en bytes
uploadTempDir = "fileUpload/temp" es la ruta temporal para cargar el archivo
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. Escribe 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:
String getContentType () // Get File Mime Type
InputStream getInputStream () // y luego vaya a la transmisión de archivos
String getName () // Obtenga el nombre del componente del archivo en el formulario
String getOriginalFileName () // Obtenga el nombre original del archivo cargado
Long getSize () // Obtenga el tamaño de byte del archivo, Unit Byte
boolean isEmpty () // ¿está vacío?
void transferto (archivo dest) // Guardar en un archivo de destino.
4. Múltiples archivos cargando
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 FilesUpPload (@RequestParam ("files") múltiple [] 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 de archivo en el archivo array para (int i = 0; i <i <i+tyem). Archivo múltiple archivo = archivos [i]; // Guardar el archivo saveverfile (archivo); }} // redirección return "redirect: /list.html"; }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.