struts2怎样实现多文件上传 需要做成类似QQ空间上传照片的效果(有一个列表(textarea域)存放我已选的文件) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class UploadMoreAction extends ActionSupport { private List<File> upload; private List<String> uploadFileName; private List<String> uploadContentType; public List<File> getUpload() { return upload; } public void setUpload(List<File> upload) { this.upload = upload; } public List<String> getUploadFileName() { return uploadFileName; } public void setUploadFileName(List<String> uploadFileName) { this.uploadFileName = uploadFileName; } public List<String> getUploadContentType() { return uploadContentType; } public void setUploadContentType(List<String> uploadContentType) { this.uploadContentType = uploadContentType; } @Override public String execute() throws Exception { for(int i = 0;i < upload.size();i++){ upload(i); } return Action.SUCCESS; } public void upload(int i) throws Exception{ InputStream input = new FileInputStream(upload.get(i)); //创建一个输入流对象 OutputStream output = new FileOutputStream("g:\\upload\\" + uploadFileName.get(i)); //创建一个输出流对象 byte buffer[] = new byte[1024]; //创建一个字节数组 int count = 0; while((count = input.read(buffer)) > 0){ output.write(buffer, 0, count); //将buffer数组中从0开始的count个字节写入此输出流 } }} struts.xml文件中这样写 <action name="uploadmore" class="com.eileen.upload.Test"> <result>/success.jsp</result> </action> 可以使用js动态生成<input type="file" name="">,或页面手动添加,然后循环上传每一个文件 用jQuery的upload插件,可以完成多文件上传! 额 谢谢 我想知道你怎么从前台传一个List<File>过去呢? 楼主所说的是前台技术 跟struts2 好像 没多大关系 struts2的话用fileuplpad组件吧...至于LZ所问的LIST如何获得就是从页面上多个<input type="file">来的... 使用数组来接 list<File> 或File[].. 要想实现真正的多文件上传或是目录上传等什么的,就要用到applet了 与单文件上传相似,Struts 2实现多文件上传也很简单。你可以将多个<s:file />绑定Action的数组或列表。< s:form action ="doMultipleUploadUsingList" method ="POST" enctype ="multipart/form-data" > < s:file label ="File (1)" name ="upload" /> < s:file label ="File (2)" name ="upload" /> < s:file label ="FIle (3)" name ="upload" /> < s:submit /> </ s:form > private File[] uploads; private String[] uploadFileNames; private String[] uploadContentTypes; public File[] getUpload() { return this .uploads; } public void setUpload(File[] upload) { this .uploads = upload; } public String[] getUploadFileName() { return this .uploadFileNames; } public void setUploadFileName(String[] uploadFileName) { this .uploadFileNames = uploadFileName; } public String[] getUploadContentType() { return this .uploadContentTypes; } public void setUploadContentType(String[] uploadContentType) { this .uploadContentTypes = uploadContentType; } Struts2 流下载有问题,大侠们请出手相助 初学JSP 请教:网页载入图片不显示 ,谁能指导一下啊? java里面如何返回两个日期之间的每一天,帮忙啦!!!!!!!!!!! jsp发送XML通过URL 根据下拉列表的值生成不同控件 初学者提问,jsp页面如何实现一打开主页就自动跳转到另一个页面。 Db_sql是个什么东东? 没有道理..为什么我中文存进去一串问号? 怎么测试wsdl文件中的内容 关于IE8共享session的问题 关于jsf渲染顺序的问题
private List<File> upload;
private List<String> uploadFileName;
private List<String> uploadContentType;
public List<File> getUpload() {
return upload;
} public void setUpload(List<File> upload) {
this.upload = upload;
} public List<String> getUploadFileName() {
return uploadFileName;
} public void setUploadFileName(List<String> uploadFileName) {
this.uploadFileName = uploadFileName;
} public List<String> getUploadContentType() {
return uploadContentType;
} public void setUploadContentType(List<String> uploadContentType) {
this.uploadContentType = uploadContentType;
} @Override
public String execute() throws Exception {
for(int i = 0;i < upload.size();i++){
upload(i);
}
return Action.SUCCESS;
}
public void upload(int i) throws Exception{
InputStream input = new FileInputStream(upload.get(i)); //创建一个输入流对象
OutputStream output = new FileOutputStream("g:\\upload\\" + uploadFileName.get(i)); //创建一个输出流对象
byte buffer[] = new byte[1024]; //创建一个字节数组
int count = 0;
while((count = input.read(buffer)) > 0){
output.write(buffer, 0, count); //将buffer数组中从0开始的count个字节写入此输出流
}
}
}
<action name="uploadmore" class="com.eileen.upload.Test">
<result>/success.jsp</result>
</action>
额 谢谢 我想知道你怎么从前台传一个List<File>过去呢?
< s:file label ="File (1)" name ="upload" />
< s:file label ="File (2)" name ="upload" />
< s:file label ="FIle (3)" name ="upload" />
< s:submit />
</ s:form > private File[] uploads;
private String[] uploadFileNames;
private String[] uploadContentTypes; public File[] getUpload() { return this .uploads; }
public void setUpload(File[] upload) { this .uploads = upload; } public String[] getUploadFileName() { return this .uploadFileNames; }
public void setUploadFileName(String[] uploadFileName) { this .uploadFileNames = uploadFileName; } public String[] getUploadContentType() { return this .uploadContentTypes; }
public void setUploadContentType(String[] uploadContentType) { this .uploadContentTypes = uploadContentType; }