若只是上传单个文件,则[inputName]File属性的类型为 Java.io.File,它代表的是上传的文件,第二个和第三个属性都为String类型,他们分别代表被上传文件的文件名和内容类型。若要上传多个文件,则可以使用数组或Java.util.List。
代码如下
复制代码
private File[] attachmentFile; 或
private List<File> attachmentFile;
private String[] attachmentFileName;
private String[] attachmentContentType;
private List<String> attachmentFileName;
private List<String> attachmentContentType;
第三步、将上传的文件保存到一个指定的文件夹下或数据库中。
示例:Struts 2单文件上传
接收上传文件的动作类:
代码如下
复制代码
serialVersionUID = 742220866388022377L; 上传文件的表单:
String
attachmentFileName;
String
attachmentContentType;
String
description;
setAttachmentFileName(String attachmentFileName)
{
setDescription(String description)
{
File savedFile = attachment.renameTo(savedFile);}
else
{
return INPUT;
}
return SUCCESS;
}
}
struts.xml的配置信息:
代码如下
复制代码
/success_single_upload.
/single_upload.jsp
100000
image/gif,image/jpeg,image/png
浏览器输入:8081/Struts2/single_upload.jsp,得到如下页面:
填写信息和选择一个需要上传的文件
点击"submit"按钮上传文件,查看D盘下images文件夹下的文件:
上传单个文件成功!
示例:动态多文件上传
创建HTML表单
代码如下
复制代码
创建JavaScript代码,使表单能动态增减上传文件的个数
Choose a file to Upload: