本文实现的是用jsp来上传图片,同时过滤图片格式和大小,来看下面详细的代码介绍吧!
package myBean; 
import java.io.*; 
public class uploadpic { 
      String picPath;//图片路径 (如:F:picturea.gif) 
      public String pictype[];//设置图片的后缀名 
      FileInputStream in; 
      int piclength;//设置图片的最大kb 
      public void setpicPath(String picPath)//获得图片的路径 
      { 
          this.picPath=picPath; 
      } 
      public void setpiclength(int piclength)//设置图片的最大长度 
      { 
          this.piclength=piclength; 
      } 
      public int getpiclength() 
      { 
          return piclength; 
      } 
      public boolean testlength()//判断图片的长度是否大于设定的最大长度 
      { 
          try{ 
              in=new FileInputStream(picPath); 
              if(in.available()/1024>piclength) 
                  return false; 
          }catch(IOException e) 
          { 
              System.out.println(e.getMessage()); 
          } 
          return true; 
      } 
      public void setpictype(String[] pictype)//设置图片的扩展名 
      { 
          this.pictype=pictype; 
      } 
      public boolean testpictype()//判断图片的扩展名是否是规定的 
      { 
          if(pictype!=null) 
          { 
              for(int i=0;i<pictype.length;i ) 
              { 
                  if(picPath.endsWith(pictype)) 
                      return true; 
              } 
              return false; 
          } 
              return false; 
      } 

以下是在jsp页面中调用uploadpic 
首先要引入此bean所在的包 
<%@page import="myBean.uploadpic" %> 
<jsp:useBean id="pic" scope="page" class="myBean.uploadpic" /> 
下一条语句是得到上一层页面,也就是用户提交的图片路径! 
String picp=codetostring.codeToString(request.getParameter("picPath")); 
         pic.setpicPath(picp); 
         pic.setpiclength(100);//以kb为单位 
         if(pic.testlength()) 
         out.print("length ok<br>"); 
          else 
             out.print("length ok"); 
         String p1,p2; 
         p1=".jpg"; 
         p2=".gif"; 
         String[] type={p1,p2}; 
         pic.setpictype(type); 
         if(pic.testpictype()) 
             out.print("typeok"); 
         else 
        out.print("type error");