首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts多文件下传

2012-10-16 
struts多文件上传前几天给朋友写一个小程序用到了上传,关于多文件上传的问题。于是乎查了查资料。贴下代码和

struts多文件上传
前几天给朋友写一个小程序用到了上传,关于多文件上传的问题。于是乎查了查资料。贴下代码和大家分享下。
关于struts上传 我们首先来看下actionForm类中的代码

public class FileForm extends ActionForm {private List<FormFile> myfile = new ArrayList<FormFile>();public List<FormFile> getMyfile() {return myfile;}public void setMyfile(List<FormFile> myfile) {this.myfile = myfile;}


接下来我们来看下action里的代码。关于struts的上传我采用的是 org.apache.struts.upload.MultipartRequestHandler 中的 MultipartRequestHandler
类。接下来看下action中的代码
FileForm forms=(FileForm)form;//利用MultipartRequestHandler处理同时上传多个文件 MultipartRequestHandler mrh =forms.getMultipartRequestHandler();Hashtable elements = mrh.getFileElements();Collection values = elements.values(); int k = 0;      for (Iterator i = values.iterator(); i.hasNext();){           // 取得上传的文件       FormFile file = (FormFile) i.next();            //获取文件字节流       InputStream ins=file.getInputStream();    //以时间格式生成文件名   String path=request.getSession().getServletContext().getRealPath("/upload");      //用输出流保存文件       OutputStream fos = new FileOutputStream(path+"/"+file.getFileName());   int bytes=0;byte[] buffer = new byte[8192];while((bytes=ins.read(buffer, 0, 8192))!=-1){fos.write(buffer, 0, bytes);}k++;ins.close();     //关闭输出流       fos.close();   }  


这里要注意的 在JSP 页面里 file 的name 要有所不同这样才能实现多文件上传,如果所写的JS 里面的FILE  名字都相同 这会只能得到最后一个文件,

热点排行