Пример загрузки файла в Struts 2

Пример загрузки файла в Struts 2

Скачать -Struts2-File-Upload-Example.zip

В Struts 2 тег<s:file> используется для создания компонента загрузки HTML-файла, чтобы пользователи могли выбирать файл со своего локального диска и загружать его на сервер. В этом руководстве вы создадите страницу JSP с компонентом загрузки файла set the maximum size and allow content type of the upload file и отобразите сведения о загруженном файле.

1. Класс действий

Класс действия для загрузки файла, объявите переменную «File» для хранения загруженного пользователем файла, две строковые переменные для хранения имени файла и типа содержимого. «fileUpload interceptor» будет автоматически вводить детали загруженного файла с помощью набора «X» ContentType () и установки «X» FileName (), убедитесь, что имя метода написано правильно.

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

Функция загрузки файла зависит от «fileUpload Interceptor», убедитесь, что он включен в стек действия. К счастью, стек по умолчанию уже включает «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. Страница результатов

Используйте тег<s:file> для визуализации компонента загрузки файла иset 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

Связать все это ~






    
    

    

    
        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
В этом примере вы устанавливаете предел размера загружаемого файла с помощью «fileUpload interceptor», это значение подсчитывается в байтах. В этом случае максимальный размер загружаемого файла составляет 10 КБ.

Максимальный размер файла для загрузки по умолчанию составляет 2 МБ.

File Types
Вы также можете установить разрешающий тип файла с помощью «fileUpload interceptor». В этом случае загружаемый файл принимает только тип содержимого «text/plain».

В Struts 2 есть несколько способов вести тот же Рим, убедитесь, что вы отметили этотStruts 2 file upload documentation.

4. Demo

Struts 2 file upload example

Сообщение об ошибке является подсказкой, если вы загружаете файл размером более 10 КБ или не текстовый файл.

Struts 2 file upload error page

Загрузите текстовый файл с именем «XWORK-LICENSE.txt», размер файла: 5 КБ.

Struts 2 file upload example

Загруженный файл будет рассматриваться как временный файл с длинным случайным именем файла upload376584a7_129811223798000_00000010.tmp. Убедитесь, что вы скопировали этот временный файл в другое место. ПрочтитеFileUtils documentation, чтобы легко копировать файлы.

Related