Struts2 proporciona un tipo de resultado de transmisión, que se usa específicamente para admitir la descarga de archivos. Se requieren las siguientes 4 propiedades para especificar el resultado de la configuración del tipo de secuencia.
ContentType: especifique el tipo de archivo del archivo descargado
InputName: especifique la transmisión de entrada de entrada del archivo descargado
ContentDisposition: especifique el nombre del archivo descargado
Buffersize: especifique el tamaño del búfer al descargar el archivo
Ejemplo de descarga del archivo Struts2:
1. Acción para procesar las descargas de archivos:
/** * Descripción: Struts2 Descarga del archivo de control * Autor: once * Fecha: 2018/1/24 10:39 */Public Class FileAction extiende ActionSupport {// Esta variable miembro corresponde al valor del nombre de entrada en Struts.xml, y le proporciona el método Get Private InputStream TargetFile; // File Descargar public String download () {// Especifique la ubicación del recurso descargado y devuelve la transmisión de entrada correspondiente string path = "/webinf/images/lib.zip"; // use getResourceasStream () para convertir el archivo especificado en el flujo de entrada correspondiente TargetFile = ServLetActionContext.getServletContext (). GetResourCeASStream (ruta); devolver el éxito; } // Proporcionar método get public inputStream getTargetFile () {return TargetFile; }}Para descargar un archivo, primero debe tener los recursos de archivo descargados. Aquí coloco el archivo descargado en la ruta Web-INF/Images del proyecto. Puede hacerlo de acuerdo con sus propias necesidades y luego usar el método getResourceasstream () proporcionado por servletContext para devolver el flujo de entrada correspondiente al archivo especificado.
2. Configurar struts.xml
<? xml versión = "1.0" encoding = "utf-8"?> <! Doctype Struts public "-// Apache Software Foundation // Dtd Struts Configuration 2.3 // en" "http://struts.apache.org/dtds/struts-2.3.dtdd"> <truts> <stitant nami value = "false" /> <constant name = "struts.devmode" value = "true" /> <paquete name = "default" namespace = " /" extends = "struts-default"> <Action name = "file_*" método = "{1}"> <!-descarga de archivos-> <!-Configure el tipo de resultado como transmisión como-<Result type = "stream"> <<!-Specifiife File Tipo de archivo de descarga- name = "ContentType"> Application/Zip </Param> <!-Image/Jpg-> <!-Especifique el nombre de InputStream que devuelve el archivo descargado en la acción-> <Param name = "inputName"> TargetFile </Param> <Param name = "ContentDisPosition"> filenam name = "inputName"> TargetFile </param> <param name = "contentDisposition"> filename = "aaa.zip" </param> <!-Especifique el tamaño del búfer del archivo descargado-> <param name = "buffersize"> 4096 </param> </sult> </action> </paz paquete> </truts>Ingrese la ruta de acceso para la descarga del archivo correspondiente en la barra de direcciones del navegador, como http: // localhost: 8080/demo/file_download para descargar 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.