使用common-fileUpload制作文件上传

转载 2012年03月29日 13:40:57
前台页面不用多说  主要是表单中设置 enctype="multipart/form-data" 很重要。
处理上传jsp文件
    
//判断表单是否是Multipart类型的。这里可以直接对request进行判断
if (ServletFileUpload.isMultipartContent(request)) {
    // 创建文件处理工厂,它用于生成 FileItem 对象。
    DiskFileItemFactory factory = new DiskFileItemFactory();
     //设置文件的缓存路径
       String tempdir =this.getServletContext().getRealPath("/upload/temp");   
     java.io.File d = new java.io.File(savedir);
        if(!d.exists()){
         d.mkdirs();
        }
      
    factory.setSizeThreshold(1024*1024); // 设置最多只允许在内存中存储的数据,单位:字节
    factory.setRepository(d); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录(默认可以不用设置)
 
    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    // 设置允许用户上传文件大小,单位:字节
    upload.setSizeMax(yourMaxRequestSize);
    //上传文件,并解析出所有的表单字段,包括普通字段和文件字段
    List  items = upload.parseRequest(request);
         //下面对每个字段进行处理,分普通字段和文件字段
   Iterator it = items.iterator();
   while(it.hasNext()){
    FileItem fileItem = (FileItem) it.next();
    //如果是普通字段
    if(fileItem.isFormField()){  //是普通的字段
     System.out.println(fileItem.getFieldName() + "   " + fileItem.getName() + "   " + new String(fileItem.getString().getBytes("iso8859-1"), "gbk"));
    fileItem.getFieldName();//得到字段name属性的值
    fileItem.getName();//得到file字段的文件名全路径名,如果不是file字段,为null
    fileItem.getString();//得到该字段的值,默认的编码格式
    fileItem.getString("UTF-8");//指定编码格式
    }else{//文件字段
         System.out.println(fileItem.getFieldName() + "   " +
        fileItem.getName() + "   " +//得到file字段的文件名全路径名
        fileItem.isInMemory() + "    " +//用来判断FileItem类对象封装的主体内容是存储在内存中,还是存储在临时文件中,如果存储在内存中则返回true,否则返回false
        fileItem.getContentType() + "   " +//文件类型
        fileItem.getSize());          //文件大小
 
       //什么东西都有了 ,想怎么处理都可以了
     //保存文件,其实就是把缓存里的数据写到目标路径下
     if(fileItem.getName()!=null && fileItem.getSize()!=0){
      File fullFile = new File(fileItem.getName());
      File newFile = new File("c:/temp/" + fullFile.getName());
      try {
       fileItem.write(newFile);
      } catch (Exception e) {
       e.printStackTrace();
      }
     }else{
      System.out.println("文件没有选择 或 文件内容为空");
     }


使用common-fileUpload制作文件上传

所需包:commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar  工作需要,以前都是直接用struts框架中的上传组件,很好用,但是现在没有用框架了,只用j...
  • liu_moyan
  • liu_moyan
  • 2010年03月29日 12:17
  • 283

Jakarta-Common-FileUpload使用简单入门

common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件,可以支持多个文件同时上传,同时也可以除了将上传文件保存为文件之外,还可以将上传的文件数据提取保存至数据库中,...
  • qiuhong101
  • qiuhong101
  • 2008年12月06日 11:51
  • 5283

使用common-fileUpload实现文件上传

FileUpload上传一个文件的过程中可以分为三个部分:首先,客户端与服务器端建立连接,把要上传的文件生成request数据流。其次服务器端接收request流,将流缓存到内存或磁盘中。当文件过大时...
  • u010066934
  • u010066934
  • 2015年08月13日 20:37
  • 3059

SpringBoot:spring boot文件上传【多文件上传】

原文转自:http://www.vxzsk.com/638.html 文件上传主要分以下几个步骤: (1)新建maven java project; (2)在pom.xml加入相应依赖;...
  • snakeMoving
  • snakeMoving
  • 2017年07月29日 01:02
  • 359

用jsp+commons-fileupload实现文件上传

这几天在网上看看,关于commons-fileupload组件的使用介绍太乱了,把他们的代码用用,编译起来错误太多,所以我今天把jsp+commons-fileupload多文件上传搞定了,整理出来,...
  • ye_sheng
  • ye_sheng
  • 2014年10月29日 16:46
  • 723

使用common-fileupload实现文件上传功能

首先需要下载并导入common-fileupload和common-io连个jar包,然后将要提交的表单method设置为post,并且添加enctype属性,属性值为:multipart/form-...
  • u011740475
  • u011740475
  • 2014年08月23日 21:25
  • 933

利用commons-fileupload组件上传文件至服务器和数据库

common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件下面先介绍上传文件到服务器(多文件上传):import javax.servlet.*;import java...
  • shuqianlz
  • shuqianlz
  • 2004年06月10日 10:36
  • 2013

使用common-fileupload实现文件上传

问题描述:前台通过表单提交文件数据,服务器获取 apache的commons-fileupload : http://commons.apache.org/fileupload/ 解决方案...
  • yu452148611
  • yu452148611
  • 2015年06月02日 09:27
  • 456

使用common-fileUpload制作文件上传(DiskFileItemFactory方式)

使用common-fileUpload制作文件上传(DiskFileItemFactory方式) 所需包:commons-fileupload-1.2.1.jar和commons-io-1.3....
  • junlong750
  • junlong750
  • 2017年02月15日 15:35
  • 204

使用 common-fileupload 实现文件上传

 就在前段时间,还在苦于找到不到合适的上传组件,虽然很早就知道了 common-fileupload,但当时却因为没有找到如何获取表单参数的方法而使用 jspSmartUpload,历尽艰辛终于找到了...
  • youchenlong
  • youchenlong
  • 2007年12月20日 16:12
  • 2027
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用common-fileUpload制作文件上传
举报原因:
原因补充:

(最多只允许输入30个字)