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;}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(); }