Struts2 fournit un type de résultat de flux, qui est spécifiquement utilisé pour prendre en charge le téléchargement de fichiers. Les 4 propriétés suivantes sont nécessaires pour spécifier le résultat de la configuration du type de flux.
ContentType: spécifiez le type de fichier du fichier téléchargé
InputName: spécifiez le flux d'entrée d'entrée du fichier téléchargé
ContentDisposition: spécifiez le nom du fichier téléchargé
Bufferseze: Spécifiez la taille du tampon lors du téléchargement du fichier
Exemple de téléchargement du fichier Struts2:
1. Action pour traiter les téléchargements de fichiers:
/ ** * Description: Struts2 Control Fichier Download * Auteur: Eleven * Date: 2018/1/24 10:39 * / public class FileAction étend ActionSupport {// Cette variable membre correspond à la valeur de TargetName InputName dans StrUts.xml et la fournit avec la méthode Get Method Private intortStream TargetFile; // Fichier Download String Download () {// Spécifiez l'emplacement de la ressource téléchargée et renvoyez la chaîne de flux d'entrée correspondante Path = "/web-inf/images/lib.zip"; // utilise getResourCeAsStream () pour convertir le fichier spécifié dans le flux d'entrée correspondant TargetFile = servletActionContext.getServletContex (). GetResourCeAsStream (path); retourner le succès; } // Fournit la méthode GET Public InputStream getTargetFile () {return TargetFile; }}Pour télécharger un fichier, vous devez d'abord disposer des ressources de fichiers téléchargées. Ici, je place le fichier téléchargé sous le chemin Web-Inf / Images du projet. Vous pouvez le faire en fonction de vos propres besoins, puis utilisez la méthode GetResourCeasStream () fournie par ServletContext pour renvoyer le flux d'entrée correspondant au fichier spécifié.
2. Configurer les struts.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"> <spertts> <ankery name = "Struts.enable.DynAMIC Value = "false" /> <constante name = "struts.devmode" value = "true" /> <package name = "default" namespace = "/" extends = "struts-default"> <action name = "file_ *" metheth = "{1}"> <! - Fichier Download -> <! - Configurer le type de résultat en tant que flux -> <result Type = "Stream"> <! name = "ContentType"> Application / Zip </param> <! - Image / JPG -> <! - Spécifiez le nom de l'EpwardsStream qui renvoie le fichier téléchargé dans l'action -> <param name = "InputName"> TargetFile </param> <param Name = "ContentDisposition"> FileName = "Aaa.zip" </ param> <! - Spécifiez la taille du tampon du tampon de la taille du tampon du fichier téléchargé du fichier de téléchargement - name = "inputName"> TargetFile </param> <param name = "ContentDisposition"> filename = "aaa.zip" </ param> <! - Spécifiez la taille du tampon du fichier téléchargé -> <param name = "BufferSize"> 4096 </param> </ result> </action> </package> </truts>Entrez le chemin d'accès pour le téléchargement de fichier correspondant dans la barre d'adresse du navigateur, tel que http: // localhost: 8080 / démo / file_download pour télécharger le fichier. / /
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.