Jakarta-Common-FileUpload使用笔记

这是一个非常常用的文件上传组件。

下载地址:http://commons.apache.org/fileupload/

示例代码:

index.html文件:

< html >
    
< head >
        
< title > 文件上传 </ title >
        
< meta  http-equiv ="Content-Type"  content ="text/html; charset=utf-8" >
    
</ head >
    
< body >
        
< p >
            
< b > 文件上传 </ b >
        
</ p >
        
< form  name ="UploadForm"  enctype ="multipart/form-data"  method ="post"
            action
="upload.jsp" >
            
< input  type ="file"  name ="File1"  size ="20"  maxlength ="20" >
            
< br >
            
< input  type ="file"  name ="File2"  size ="20"  maxlength ="20" >
            
< br >
            
< input  type ="submit"  value ="上传" >
        
</ form >
    
</ body >
</ html >

upload.jsp文件:

<% @ page import="org.apache.commons.fileupload.*" %>
<% @ page import="java.util.List" %>
<% @ page import="java.util.Iterator" %>
<% @ page import="java.io.File" %>
<% @ page contentType="text/html;charset=utf-8" %>
<%
    
String temp = getServletContext().getRealPath("/"+ "temp"//临时目录 
    
String loadpath = getServletContext().getRealPath("/"+ "dir"//上传文件存放目录 
    DiskFileUpload fu 
= new DiskFileUpload();
    fu.setSizeMax(
1 * 1024 * 1024); // 设置允许用户上传文件大小,单位:字节 
    fu.setSizeThreshold(
4096); // 设置最多只允许在内存中存储的数据,单位:字节 
    fu.setRepositoryPath(temp); 
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 

    
//开始读取上传信息 
    List fileItems 
= fu.parseRequest(request);
    Iterator iter 
= fileItems.iterator(); // 依次处理每个上传的文件 
    
while (iter.hasNext()) {
        FileItem item 
= (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息 
        
if (!item.isFormField()) {
            
String name = item.getName();//获取上传文件名,包括路径 
            name 
= name.substring(name.lastIndexOf("/"+ 1);//从全路径中提取文件名 
            
long size = item.getSize();
            
if ((name == null || name.equals("")) && size == 0) continue;
            out.println(item.getName() 
+ " Size=" + item.getSize() + "<br>");//输出上传文件信息 
            File fNew 
= new File(loadpath, name);
            item.write(fNew);
        }
    }
%>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值