当前位置:  编程技术>java/j2ee

struts2中实现多个文件同时上传代码

    来源: 互联网  发布时间:2014-10-24

    本文导语:  在upload.jsp页面中将多个文件域对象命名为相同的名字,这样在action中就可以将多个文件域解析成一个数组,数组的大小就是文件域的个数,同时一个文件域解析成三个对应的变量,因此多个文件域对应三个数组,其中每个数组...

在upload.jsp页面中将多个文件域对象命名为相同的名字,这样在action中就可以将多个文件域解析成一个数组,数组的大小就是文件域的个数,同时一个文件域解析成三个对应的变量,因此多个文件域对应三个数组,其中每个数组的大小就是文件域的个数。jsp页面代码如下:

代码如下:


文件标题:

选择文件-:

选择文件二:

选择文件三:

对应的Action依次遍历所有文件域,然后生成对应的输入文件流,输出文件流在指定的服务器保存路径中添加对应的输出文件流保存文件。同时动态指定服务器上文件的 保存路径。

action代码如下:

代码如下:

package com.inspur.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {
private String title;
private File[] upload;
private String[] uploadFileName;
private String[] uploadContentType;
private String savePath;

public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public File[] getUpload() {
return upload;
}
public void setUpload(File[] upload) {
this.upload = upload;
}
public String[] getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String[] uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String[] getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String[] uploadContentType) {
this.uploadContentType = uploadContentType;
}
public String getSavePath() {
return ServletActionContext.getRequest().getRealPath(savePath);
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
public String upload()throws Exception{
File[] files=this.getUpload();
for(int i=0;i0){
fos.write(buffer,0,len);
}
}


return SUCCESS;
}

}

struts.xml文件配置如下:配置文件上传的拦截器,允许 的上传文件类型,上传文件大小限制,同时引入defaultStack拦截器和上传文件在服务器上的保存位置

代码如下:







image/bmp,image/png,image/gif,image/jpeg
20000000000


/upload
/success.jsp
/upload.jsp
/error.jsp


web.xml文件代码如下:配置了struts-cleanup过滤器,对文件的上传功能没有直接的影响,但是作为struts核心过滤器的辅助类是系统更加稳定,消除未知的异常。
代码如下:


struts-cleanup
org.apache.struts2.dispatcher.ActionContextCleanUp


struts-cleanup
/*


在上传成功界面显示所有上传的图片:

success.jsp页面代码如下:

代码如下:

文件标题:

第一个图片:first

第二个图片:second


strus2同样支持使用list同时上传多个文件,其原理和数组是相同的,没有根本的差别。只不过就是将数组全部改成list。并且修改list的访问方法就可以用list来封装文件域参数。实现多个文件的同时上传。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Struts2的插件 LightURL
  • 后台快速开发框架 struts2-mvc-template
  • Struts2GWTPlugin
  • Struts2Builder
  • struts2-remote-template-plugin
  • Struts2增强版 Struts+
  • Struts2 AjaxFileUpload
  • NetBeans的Struts2插件
  • Struts2 jQuery Plugin
  • Struts验证码插件 JCaptcha4Struts2
  • struts2 session 解读
  • oracle iis7站长之家
  • struts2调试插件 ConfigDebug
  • Jquery、Ajax、Struts2定时刷新功能的实现代码
  • Jquery、Ajax、Struts2完成定时刷新的方法
  • 在Struts2中如何将父类属性序列化为JSON格式的解决方法
  • java Struts2 在拦截器里的跳转问题
  • struts2+spring+hibernate分页代码[比较多]第1/7页
  • struts2+jquery实现ajax登陆实例详解
  • Struts2访问servlet分享


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3