zoukankan      html  css  js  c++  java
  • common-fileupload上传文件

    文件上传在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件上传组件,本文以commons-fileupload组件为例,为jsp应用添加文件上传功能。

    common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/commons/fileupload/下载。用该组件可实现一次上传一个或多个文件,并可限制文件大小。
    下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps你的webappWEB-INFlib下,目录不存在请自建目录。

    新建一个servlet: Upload.java用于文件上传:

    import java.io.*;   
    
    import java.util.*;   
    
    import javax.servlet.*;   
    
    import javax.servlet.http.*;   
    
    import org.apache.commons.fileupload.*;   
    
    public class Upload extends HttpServlet {   
    
      private String uploadPath = "F:\upload\"; // 上传文件的目录  
    
      private String tempPath = "F:\upload\tmp\"; // 临时文件目录   
    
      public void doPost(HttpServletRequest request,  HttpServletResponse response) throws IOException, ServletException {   
    
        
    
      try {   
    
            DiskFileUpload fu = new DiskFileUpload();   
    
        // 设置最大文件尺寸,这里是4MB   
    
            fu.setSizeMax(4194304);   
    
        // 设置缓冲区大小,这里是4kb   
    
            fu.setSizeThreshold(4096);   
    
        // 设置临时目录:   
    
            fu.setRepositoryPath(tempPath);   
    
        // 得到所有的文件:   
    
            List fileItems = fu.parseRequest(request);   
    
            Iterator i = fileItems.iterator();   
    
        // 依次处理每一个文件:   
    
        while(i.hasNext()) {   
    
                FileItem fi = (FileItem)i.next();   
    
            // 获得文件名,这个文件名包括路径:   
    
                String fileName = fi.getName();   
    
          // 在这里可以记录用户和文件信息   
    
          // ...   
    
          // 写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:   
    
                fi.write(new File(uploadPath + "a.txt"));   
    
            }   
    
        } catch(Exception e) {   
    
        // 可以跳转出错页面   
    
        }  
    
     }   
    }  
  • 相关阅读:
    shell编程基础(六): 透彻解析查找命令find
    shell编程基础(五): 正则表达式及其使用
    shell编程基础(三): 位置参数与shell脚本的输入输出
    shell编程基础(二): shell脚本语法之分支语句和循环语句
    shell编程基础(一): 基本变量和基本符号
    SpringCloud学习(一):微服务简介
    ubuntu 安装bazel
    numpy reshape resize用法
    L0、L1及L2范数
    linux常用的搜索命令
  • 原文地址:https://www.cnblogs.com/estellez/p/3955421.html
Copyright © 2011-2022 走看看