O STRUTS2 fornece um tipo de resultado do fluxo, usado especificamente para suportar o download de arquivos. As 4 propriedades a seguir são necessárias para especificar o resultado da configuração do tipo de fluxo.
ContentType: especifique o tipo de arquivo do arquivo baixado
InputName: especifique o fluxo de entrada de entrada do arquivo baixado
ContentDisposition: especifique o nome do arquivo baixado
Buffersize: especifique o tamanho do buffer ao baixar o arquivo
Exemplo de download do arquivo struts2:
1. Ação para processar downloads de arquivos:
/** * Descrição: Struts2 Control File Download * Autor: Eleven * Data: 2018/1/24 10:39 */Public Classe FileAction estende o ActionSupport {// Esta variável corresponde ao valor do nome inputName em struts.xml, e fornece o método GET Private InputString FourFile; // Download do arquivo public String Download () {// Especifique o local do recurso baixado e retorne o fluxo de entrada correspondente Path = "/web-inf/images/lib.zip"; // use getResourceasStream () para converter o arquivo especificado no fluxo de entrada correspondente TargetFile = ServletActionContext.getServletContext (). GetResourceasStream (caminho); sucesso de sucesso; } // Forneça o método get public inputStream getTargetFile () {return TargetFile; }}Para baixar um arquivo, você deve primeiro ter os recursos de arquivo baixados. Aqui, coloco o arquivo baixado no caminho da Web-Inf/Images do projeto. Você pode fazer isso de acordo com suas próprias necessidades e, em seguida, usar o método getResourceasStream () fornecido pelo ServletContext para retornar o fluxo de entrada correspondente ao arquivo especificado.
2. Configure as suportes.xml
<?xml version="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.dtd"><struts> <constant name="struts.enable.DynamicMethodInvocation" value = "false" /> <nome constante = "struts.devmode" value = "true" /> <names package = "padrão" namespace = " /" estends = "struts-default"> <ação name = "file_*" método = "{1}"> <! name="contentType">application/zip</param><!--image/jpg--> <!--Specify the name of the InputStream that returns the downloaded file in the action--> <param name="inputName">targetFile</param> <param name="contentDisposition">filename="aaa.zip"</param> <!--Specify the buffer size of the downloaded file--> <param name = "inputName"> targetfile </param> <param name = "contentDisposition"> filename = "aaa.zip" </param> <!-especifique o tamanho do buffer do arquivo baixado-> <param name = "buffersize"> 4096 </param> </resultado </action> </package> </struts>Digite o caminho de acesso para o download de arquivo correspondente na barra de endereços do navegador, como http: // localhost: 8080/Demo/File_download para baixar o arquivo. /
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.