您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > FileUpload组件常用方法
CommonsFileUpload组件使用方法1,下载CommonsFileUpload组件包,具体可以在http://commons.apache.org网上找,开源的,免费下载.2,下载CommonsIO包,上面的组件必须依赖它才能实现功能.该包也在上面的网页上有提供.注意:如果你是使用Tomcat直接开发应用程序,则把上面下载的两个.ZIP文件解压后,将解压后的commons-io-1.4-sources.jar和commons-fileupload-1.2.1.jar两个.jar文件放到tomcat的webapps\你的webapp\WEB-INF\lib\下,目录不存在的话请自己创建.如果你是直接使用MyEclipse进行开发应用,刚把上面的两个.jar文件放到自己创建的用户库里面,在用到这个库时再导入到应用程序中.步骤:1.创建一个Servlet----Upload.java文件,用于实现上传文件importjava.io.*;importjava.util.*;importjavax.servlet.*;importjavax.servlet.http.*;importorg.apache.commons.fileupload.*;publicclassUploadextendsHttpServlet{privateStringuploadPath=d:\\upload\\;//上传文件的目录privateStringtempPath=d:\\upload\\tmp\\;//临时文件目录在doPost()方法中,当servlet收到浏览器发出的Post请求后,实现文件上传。以下是示例代码:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{try{DiskFileUploadfu=newDiskFileUpload();//设置最大文件尺寸,这里是4MBfu.setSizeMax(4194304);//设置缓冲区大小,这里是4kbfu.setSizeThreshold(4096);//设置临时目录:fu.setRepositoryPath(tempPath);//得到所有的文件:ListfileItems=fu.parseRequest(request);//解析用户请求的参数,取出文件上传信息Iteratori=fileItems.iterator();//依次处理每一个文件:while(i.hasNext()){FileItemfi=(FileItem)i.next();//获得文件名,这个文件名包括路径:StringfileName=fi.getName();//在这里可以记录用户和文件信息//...//写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:fi.write(newFile(uploadPath+a.txt));}}catch(Exceptione){//可以跳转出错页面}}编译该servlet,注意要指定classpath,确保包含commons-upload-1.0.jar和tomcat\common\lib\servlet-api.jar。2.配置servlet,用记事本打开tomcat\webapps\你的webapp\WEB-INF\web.xml,没有的话新建一个。典型配置如下:?xmlversion=1.0encoding=ISO-8859-1?!DOCTYPEweb-appPUBLIC-//SunMicrosystems,Inc.//DTDWebApplication2.3//ENhttp://java.sun.com/dtd/web-app_2_3.dtdweb-appservletservlet-nameUpload/servlet-nameservlet-classUpload/servlet-class/servletservlet-mappingservlet-nameUpload/servlet-nameurl-pattern/fileupload/url-pattern/servlet-mapping/web-app3.配置好servlet后,启动tomcat,写一个简单的html测试:formaction=fileuploadmethod=postenctype=multipart/form-dataname=form1inputtype=filename=fileinputtype=submitname=Submitvalue=upload/form注意action=fileupload其中fileupload是配置servlet时指定的url-patternprotectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{resp.setContentType(CONTENT_TYPE);try{DiskFileUploaddiskFileUpload=newDiskFileUpload();diskFileUpload.setHeaderEncoding(GBK);ListfileItems=diskFileUpload.parseRequest(req);ErpSTServiceerpSTService=newErpSTService();StringstrWJLJ=;StringstrTmp=;for(intm=0;mfileItems.size();m++){FileItemfileItem=(FileItem)fileItems.get(m);if(!fileItem.isFormField()){strWJLJ=fileItem.getName().trim();longsize=fileItem.getSize();if((strWJLJ==null||strWJLJ.equals())&&size==0){continue;}else{StringstrUploads=getAddress();if(!newFile(strUploads+erpSt/).isDirectory())newFile(strUploads+erpSt/).mkdirs();strTmp=strUploads+erpSt+/;diskFileUpload.setRepositoryPath(strTmp);strTmp=strTmp+impexcl.xls;/////////////////////////////////////////////////////////System.out.println(准备上传文件:+strTmp);//////////////////////////////////////////////////////////fileItem.write(newFile(strTmp));}}}Workbookbook=Workbook.getWorkbook(newFile(strTmp));Sheetsheet=book.getSheet(Sheet1);//工作表有数据的行数intlastCell=0;StringcurCell=;//必填项StringstrBug=;if(lastCell==0){lastCell=sheet.getRows();System.out.println(lastCell);}//验证必填项for(inti=1;ilastCell;i++){Cellcell=sheet.getCell(0,i);if(!cell.getContents().trim().equals()){cell=sheet.getCell(1,i);if(cell.getContents().trim().equals()){strBug=strBug+第+(i+1)+行的内容为空,请输入!br;}//cell=sheet.getCell(7,i);//if(cell.getContents().trim().equals())//{//strBug=strBug+第+(i+1)+行的标准答案为空,请输入!br;//}cell=sheet.getCell(9,i);if(cell.getContents().trim().equals()){strBug=strBug+第+(i+1)+行的试题类型为空,请输入!br;}}}if(strBug.trim().equals()){for(inti=1;ilastCell;i++){ErpSterpSt=newErpSt();//System.out.println(sheet);//System.out.println(sheet.getCell(0,i).getContents());//System.out.println(sheet.getCell(1,i).getContents());if(!(sheet.getCell(0,i).getContents().trim().equals()||sheet.getCell(0,i).getContents().trim()==null)){erpSt.setStbh(Long.parseLong(sheet.getCell(0,i).getContents().trim()));erpSt.setStnr(sheet.getCell(1,i).getContents().trim());erpSt.setDaa(sheet.getCell(2,i).getContents().trim());erpSt.setDab(sheet.getCell(3,i).getContents().trim());erpSt.setDac(sheet.getCell(4,i).getContents().trim());erpSt.setDad(sheet.getCell(5,i).getContents().trim());erpSt.setDae(sheet.getCell(6,i).getContents().trim());if(sheet.getCell(7,i).getContents().trim().equals(正确)||sheet.getCell(7,i).getContents().trim().equals(对)){erpSt.setZqda(T);}elseif(sheet.getCell(7,i).getContents().trim().equals(错误)||sheet.getCell(7,i).getContents().trim().equals(错)){erpSt.setZqda(F);}else{erpSt.setZqda(sheet.getCell(7,i).getContents().trim());}erpSt.setErpmk(sheet.getCell(8,i).getContents().trim());if(sheet.getCell(9,i).getContents().trim().equals(单选)){erpSt.setStlx(1);}elseif(sheet.getCell(9,i).getContents().trim().equals(多选)){erpSt.setStlx(2);}elseif(sheet.getCell(9,i).getContents().trim().equals(判断)){erpSt.setStlx(3);}elseif(she
本文标题:FileUpload组件常用方法
链接地址:https://www.777doc.com/doc-9549 .html