使用Oreilly上传组件上传文件攻略

上传页面

<% ... @ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding
="GB18030"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=GB18030" >
< title > Insert title here </ title >
</ head >
< body >
< form  name ="form1"  enctype ="multipart/form-data"  method ="post"  action ="file.jsp" >
  上传文件1:
< input  type ="file"  name ="file1"  size ="20"  maxlength ="20" >< br >
  文件描述1:
< input  type ="text"  name ="file1"  size ="20"  maxlength ="20" >< br >< br >
  上传文件2:
< input  type ="file"  name ="file2"  size ="20"  maxlength ="20" >< br >
  文件描述2:
< input  type ="text"  name ="file2"  size ="20"  maxlength ="20" >< br >< br >
  上传文件3:
< input  type ="file"  name ="file3"  size ="20"  maxlength ="20" >< br >
  文件描述3:
< input  type ="text"  name ="file3"  size ="20"  maxlength ="20" >< br >< br >
  
< input  type ="submit"  value ="submit" />
  
< input  type ="reset"  value ="reset" />
</ form >
</ body >
</ html >

 处理页面

 

<% ... @ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding
="GB18030"
%>
<% ... @ page import="java.io.*,java.util.*,com.oreilly.servlet.MultipartRequest"  %>
<% ... @ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"  %>
<! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=GB18030" >
< title > Insert title here </ title >
</ head >
< fmt:requestEncoding  value ="gb2312" />
< body >
<% ...
   
String saveDirectory="/upload"//设置上传目录
   
String contextPath=request.getSession().getServletContext().getRealPath(saveDirectory);
   System.out.println(contextPath);
   File a
=new File(contextPath);
   System.out.println(a.isDirectory());
   
if(!a.isDirectory()){
      a.mkdir();
   }
   
int maxPostSize=5*1024*1024//设定大小为5M
   
String  filename=null;
   
String  contentType=null;
   
String  description=null;
   
int count=0;
   MultipartRequest multi
=new MultipartRequest(request,contextPath,maxPostSize);
   
   
   
//取得所有上传文件输入类型名称及描述
   Enumeration filesname
=multi.getFileNames();
   Enumeration filesdesc
=multi.getParameterNames();
   
while(filesname.hasMoreElements()){
     
String name=(String)filesname.nextElement();
     
String dc=(String)filesdesc.nextElement();
     filename
=multi.getFilesystemName(name);
     contentType
=multi.getContentType(name);
     description
=multi.getParameter(dc);
     
if(filename!=null){
       count
++;
       
%>
         您上传第
<% = count  %> 个文件: < br >
         文件名:
<% = filename  %> < br >
         文件类型:
<% = contentType  %> < br >
         文件描述: 
<% = description  %> < br >< br >
       
<% ...
     }
   }
 
%>
 
您总共上传
<% = count  %> 个文件
 
</ body >
</ html >

 

 

需要注意两点:

(1)上传目录必须存在

(2)以上代码暂时不支持中文,支持中文只需要改动
          String enCoding="gb2312";
          MultipartRequest multi=new MultipartRequest(request,contextPath,maxPostSize,enCoding);
    



你可能感兴趣的:(html,jsp,servlet,sun)