这一篇,主要是
1.多文件上传:就是把参数换成数组
2.文件下载
多文件上传
fileUpload.jsp:
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file1"/>
<input type="file" name="file1"/>
<input type="file" name="file1"/>
<input type="submit" value="上传"/>
</form>
<s:fielderror></s:fielderror>
Action:
public class FileUploadAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private File[] file1;//文件
private String[] File1FileName;//文件名
private String[] file1ContentType;//文件类型
public File[] getFile1() {
return file1;
}
public void setFile1(File[] file1) {
this.file1 = file1;
}
public String[] getFile1FileName() {
return File1FileName;
}
public void setFile1FileName(String[] file1FileName) {
File1FileName = file1FileName;
}
public String[] getFile1ContentType() {
return file1ContentType;
}
public void setFile1ContentType(String[] file1ContentType) {
this.file1ContentType = file1ContentType;
}
@Override
public String execute() throws Exception {
for(int i=0;i<file1.length;i++) {
System.out.println("文件名:"+File1FileName[i]);
System.out.println("文件类型:"+file1ContentType[i]);
String filePath = "c:/upload/"+File1FileName[i];
File saveFile = new File(filePath);
FileUtils.copyFile(file1[i], saveFile);
}
return SUCCESS;
}
}
测试:
文件下载
新建Action:FileDowmloadAction:
public class FileDownloadAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private String fileName;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) throws Exception{
fileName = new String(fileName.getBytes(), "ISO8859-1");
this.fileName = fileName;
}
public InputStream getInputStrem() throws Exception{
File file = new File("c:/upload/假期学习计划.txt");
this.fileName="假期学习计划";
return new FileInputStream(file);
}
}
struts.xml:
<action name="download" class="com.java.action.FileDownloadAction">
<result type="stream">
<param name="contentDisposition">attachment;filename=${fileName}</param>
</result>
</action>
fileDownload.jsp:
<a href="download">文件下载</a>
测试: