jsp + struts上传

xiaoxiao2026-08-04  2

jsp代码 注意,form的enctype和input的type <form name="baseInfoForm" method="post" enctype="multipart/form-data" id="form1"> <input type="file" name="pic" /> </form> struts-config.xml 动态表单的类型设置,注意看类型 <form-bean name="baseInfoForm" type="org.apache.struts.action.DynaActionForm"> <form-property name="pic" type ="org.apache.struts.upload.FormFile"/> java处理 //----------开始上传照片------------------------- ///debug System.out.println(BaseInfoAction.class.getClassLoader().getResource("")); System.out.println(ClassLoader.getSystemResource("")); System.out.println(BaseInfoAction.class.getResource("")); System.out.println(BaseInfoAction.class.getResource("/")); //Class文件所在路径 System.out.println(new File("/").getAbsolutePath()); System.out.println(System.getProperty("user.dir")); //end debug FormFile file= (FormFile)dynaActionForm.get("pic"); //存储目录 if(file != null){ //获得图片存储路径 String fileName = file.getFileName(); if(!fileName.equalsIgnoreCase("")){ String fileType = fileName.substring(fileName.indexOf(".")); String picName = code + fileType; BufferedImage sourceImg = javax.imageio.ImageIO.read(file.getInputStream()); int height = sourceImg.getHeight(); int width = sourceImg.getWidth(); int size = file.getFileSize(); String dir = servlet.getServletContext().getRealPath("/web/upload/photos"); //String dir = request.getContextPath(); String fileDir = dir + "\\" + code + fileType; //String fileDir = "C:\\Program Files\\Apache Software Foundation\\Tomcat5.5\\webapps\\TeacherInfo\\web\\upload\\photos\\" + picName; //String fileDir = System.getProperty("user.dir") + "\\WebContent\\web\\upload\\photos\\" + code + fileType; //String fileDir = request.getContextPath() + "/web/upload/photos/" + picName; InputStream in = file.getInputStream(); OutputStream out = new FileOutputStream(fileDir); int bytesRead = 0; byte[] buffer = new byte[8192]; while((bytesRead=in.read(buffer,0,8192)) != -1){ out.write(buffer,0,bytesRead); } out.close(); in.close(); file.destroy(); //图片路径存进数据库 dbaseInfo.setT09(request.getContextPath() + "/web/upload/photos/" + picName); tableOpGenericDAO.update(dbaseInfo); 上传组件 struts包 包含了这个org.apache.struts.upload就可以上传。
转载请注明原文地址: https://www.6miu.com/read-5050664.html

最新回复(0)