Что ж, вам не нужно делать это вручную, и когда вы будете использовать Struts2 для загрузки файла, его встроенный перехватчик загрузки файлов сделает для вас основной подъем.Все, что вам нужно - указать некоторые свойства в вашем классе действий, чтобы Framework внедрил требуемые данные в ваш класс действий, и вы можете выполнять другую работу.
- вот что вам нужно сделать. На своей странице JSP вынеобходимо использовать <s:file>
tag
<s:form action="doUpload" method="post" enctype="multipart/form-data">
<s:file name="upload" label="File"/>
<s:submit/>
</s:form>
Перехватчик fileUpload будет использовать инъекцию сеттера для вставки загруженного файла и связанных данных в ваш класс Action.Для поля формы с именем upload вы должны предоставить три метода установки, показанных в следующем примере: И в вашем классе действий это все, что вам нужно сделать
public class UploadAction extends ActionSupport {
private File file;
private String contentType;
private String filename;
public void setUpload(File file) {
this.file = file;
}
public void setUploadContentType(String contentType) {
this.contentType = contentType;
}
public void setUploadFileName(String filename) {
this.filename = filename;
}
public String execute() {
//...
return SUCCESS;
}
}
Загруженный файл будет рассматриваться как временный файл, с длинным случайным именем файла, и вы должны скопировать его в свой метод execute () класса действий. Вы можете воспользоваться помощью FileUtils .
Я предлагаю вам прочитать официальный File-загрузить документ Struts2 для полной конфигурации Загрузка файла Struts2