En Struts 2, la etiqueta <s:file> se utiliza para crear un archivo HTML componente de
subida para permitir a los usuarios seleccionar el archivo de su disco duro, y subirlo al servidor. En este tutorial, crear una pgina JSP con un componente de carga de archivos, s y el tamao mximo y permitir que el tipo de contenido del archivo de carga, y mostrar los detalles de los archivos subidos. 1. Clase de Accin Clase de Accin para la carga de archivos, declarar una variable "Archivo" para guardar el archivo subido usuario, dos variables de cadena para almacenar el nombre del archivo y el tipo de contenido. El "interceptor fileUpload" se auto inyectar los detalles del archivo subido a travs de set "X" ContentType () y establecer nombre de archivo "X" (), asegrese de que el nombre del mtodo es hechizo correctamente. PS X es la variable para almacenar el archivo cargado. El archivo de funcin de carga es depende de la "Interceptor fileUpload", asegrese de que est incluido en la pila de la Accin. La suerte es, la pila por omisin ya est incluye el "Interceptor fileUpload". FileUploadAction.java com.mkyong.common.action paquete;
importar java.io.File;
com.opensymphony.xwork2.ActionSupport importacin;
public class extends FileUploadAction ActionSupport {
setFileUpload public void (fileUpload archivo) { . este fileUpload = fileUpload; }
public String execute () throws Exception {
Devuelve un valor verdadero;
}
pantalla public String () { return None; }
} 2. Pgina de resultados Utilice <s:file> etiquetar para hacer una carga de archivos de componentes, y establecer la forma de tipo enctype a "multipart / form-data". fileupload.jsp <% @ Taglib prefix = uri "s" = "/ struts-tags"%> <Html> <Head> <s:head /> </ Head>
<Accion nombre = "fileUploadAction" class = mtodo "com.mkyong.common.action.FileUploadAction" = "display"> Nombre <result => "none" pginas / fileupload.jsp </ result> </ Accion>
Nombre <accion = "resultAction" class = "com.mkyong.common.action.FileUploadAction"> <interceptor-ref name = "exception" /> <interceptor-ref name = "i18n" /> <interceptor-ref name = "fileUpload"> <param name = "allowedTypes"> text / plain </ param> <param name = "maximumSize"> 10240 </ param> </ Interceptor-ref> <interceptor-ref name = "params"> <param name = "excludeParams"> dojo \ .. *, ^ puntales \ .. * </ param> </ Interceptor-ref> <interceptor-ref name = "validation"> <param name = "excludeMethods"> Entrada, espalda, cancelacin, navegar </ param> </ Interceptor-ref> <interceptor-ref name = "workflow"> <param name = "excludeMethods"> Entrada, espalda, cancelacin, navegar </ param> </ Interceptor-ref>
Nombre <result => "success" pginas / result.jsp </ result> Nombre <result => "input" pginas / fileupload.jsp </ result>
</ Accion> </ Package> </ Puntales> Lmites de tamao de archivo En este ejemplo, se establece el lmite de tamao de archivo de carga a travs de "fileUpload interceptor", este valor es el recuento de bytes. En este caso, el tamao mximo del archivo de subida es de 10kb. El tamao mximo de archivo por defecto del archivo de subida es 2 MB Tipos de archivo Puede configurar el tipo de archivo permite a travs de "fileUpload interceptor" tambin. En este caso, el archivo de carga slo se acepta el "text / plain" tipo de contenido. En Struts 2, hay mayo maneras de liderar misma Roma, asegrese de comprobar la documentacin de carga de archivos Struts 2 . 4. Manifestacin http://localhost:8080/Struts2Example/fileUploadAction.action
Mensaje de error es del sistema si se carga un archivo que es ms de 10kb, o no es un archivo de texto.
Cargar un archivo de texto llamado "XWork-LICENSE.txt", tamao de archivo: 5 KB.
El archivo subido ser tratar como un archivo temporal, con un nombre de archivo aleatorio largo, upload__376584a7_12981122379__8000_00000010.tmp. Asegrese de copiar este archivo temporal a otro lugar. Lea la documentacin FileUtils copiar archivos fcilmente.