Exemple de téléchargement de fichier Struts 2

Exemple de téléchargement de fichier Struts 2

Téléchargez-le -Struts2-File-Upload-Example.zip

Dans Struts 2, la balise<s:file> est utilisée pour créer un composant de téléchargement de fichier HTML pour permettre aux utilisateurs de sélectionner un fichier à partir de leur disque local et de le télécharger sur le serveur. Dans ce didacticiel, vous allez créer une page JSP avec le composant de téléchargement de fichier, set the maximum size and allow content type of the upload file, et afficher les détails du fichier téléchargé.

1. Classe d'action

Classe d'action pour le téléchargement de fichier, déclarez une variable «File» pour stocker le fichier téléchargé par l'utilisateur, deux variables String pour stocker le nom de fichier et le type de contenu. Le «fileUpload interceptor» injectera automatiquement le détail du fichier téléchargé via le paramètre «X» ContentType () et définira «X» FileName (), assurez-vous que le nom de la méthode est correctement orthographié.

P.S X is the variable to store the uploaded file.

La fonction de téléchargement de fichier dépend des «fileUpload Interceptor», assurez-vous qu'il est inclus dans la pile de l'action. Heureusement, la pile par défaut comprend déjà les «fileUpload Interceptor».

FileUploadAction.java

package com.example.common.action;

import java.io.File;

import com.opensymphony.xwork2.ActionSupport;

public class FileUploadAction extends ActionSupport{

    private File fileUpload;
    private String fileUploadContentType;
    private String fileUploadFileName;

    public String getFileUploadContentType() {
        return fileUploadContentType;
    }

    public void setFileUploadContentType(String fileUploadContentType) {
        this.fileUploadContentType = fileUploadContentType;
    }

    public String getFileUploadFileName() {
        return fileUploadFileName;
    }

    public void setFileUploadFileName(String fileUploadFileName) {
        this.fileUploadFileName = fileUploadFileName;
    }

    public File getFileUpload() {
        return fileUpload;
    }

    public void setFileUpload(File fileUpload) {
        this.fileUpload = fileUpload;
    }

    public String execute() throws Exception{

        return SUCCESS;

    }

    public String display() {
        return NONE;
    }

}

2. Page de résultats

Utilisez la balise<s:file> pour rendre un composant de téléchargement de fichier etset the form enctype type to “multipart/form-data”.

fileupload.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>






Struts 2 file upload example

result.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>



Struts 2 file upload example

File Name :

Content Type :

File :

3. struts.xml

Liez le tout ~






    
    

    

    
        pages/fileupload.jsp
    

    
        
            
            
            text/plain
            10240
        
            
                dojo\..*,^struts\..*
            
            
                input,back,cancel,browse
            
            
                input,back,cancel,browse
            

        pages/result.jsp
        pages/fileupload.jsp

    
   

File Size Limits
Dans cet exemple, vous définissez la limite de taille du fichier de téléchargement via «fileUpload interceptor», cette valeur est comptée en octets. Dans ce cas, la taille maximale du fichier de téléchargement est de 10 Ko.

La taille de fichier maximale par défaut du fichier de téléchargement est de 2 Mo

File Types
Vous pouvez également définir le type de fichier autorisé via «fileUpload interceptor». Dans ce cas, le fichier de téléchargement n'accepte que le type de contenu «text/plain».

Dans Struts 2, il existe plusieurs façons de diriger la même Rome, assurez-vous de cocher cesStruts 2 file upload documentation.

4. Demo

Struts 2 file upload example

Un message d'erreur est demandé si vous téléchargez un fichier de plus de 10 ko ou pas un fichier texte.

Struts 2 file upload error page

Téléchargez un fichier texte nommé «XWORK-LICENSE.txt», taille du fichier: 5 Ko.

Struts 2 file upload example

Le fichier téléchargé sera traité comme un fichier temporaire, avec un long nom de fichier aléatoire, upload376584a7_129811223798000_00000010.tmp. Assurez-vous de copier ce fichier temporaire ailleurs. LisezFileUtils documentation pour copier facilement des fichiers.