`

commons-fileupload-1.0上传组件使用实例.

    博客分类:
  • java
阅读更多

commons-fileupload-1.0上传组件使用实例.

 文件上传一个WEB开发的基本功能, 以前做项目的时候,自己写过组件,也用过别人写的组件,感觉效果都不是很好,最的发现commons-fileupload是一个很不错的选择,从功能,文档,技术背景都相当不错.

花一天时间. 从API到网上看资料. 终于可以在我的项目中用它了. 在这里做一个总结, 也希望对想用这个组件的朋友有所帮助.


FileItem类,它包括了单个表单属性的所有资料,所有表单值都可以通过它来取得.

主要有以下方法.具体用途请参考API.

          void delete()
          getContentType()
          getFieldName()
          getInputStream()
          getName()
          getOutputStream()
          getString()
          getString(java.lang.String encoding)
          isFormField()
          isInMemory()
          setFieldName(java.lang.String name)
          setFormField(boolean state)
          write(java.io.File file)

以下是使用的一个实例. 具体方法都可以从commons-fileupload的API文件中找到,不再多说..


上传页面;

up.jsp

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<form action="up1.jsp" method="post" enctype="multipart/form-data" name="form1">
  <input name="thisfile" type="file" id="thisfile">
  <input name="user" type="text" id="user" size="10">
  <input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>

后端处理页面

up1.jsp

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<%
   try{
        String dir=request.getRealPath(".");
        DiskFileUpload fu = new DiskFileUpload();
       
        fu.setSizeMax(4194304);                 //设置文件大小.

        fu.setSizeThreshold(4096);              //设置缓冲大小.

        fu.setRepositoryPath(dir+"/test");      //设置临时目录.
  
 List fileItems = fu.parseRequest(request);   //解析请求,返回一个集合.
       
        Iterator i = fileItems.iterator();

        while(i.hasNext())
     {
    
            FileItem fi = (FileItem)i.next();
   
    if(fi.isFormField())                        //这是用来确定是否为文件属性,
     {

                        String fieldName = fi.getFieldName();     //这里取得表单名
   String fieldvalue=fi.getString();         //这里取得表单值

   out.print("<br>");
   out.print("name:"+fieldName);
                        out.print("value:"+fieldvalue);
                   }
     else                                           //这里开始外理文件
     {
                       String fileName = fi.getName();            // 返回文件名包括客户机路径
                       if(fileName!=null)
      {
        out.print(fileName);
        out.print("<br>"+fi.getFieldName());  // 打印文件表单名
         
                             fi.write(new File(dir+"/test/a.jpg"));     // 写文件到服务器.
      }
    }
            }
   }
  catch(Exception e)
   {}

 %>

</body>
</html>



分享到:
评论

相关推荐

    使用commons-fileupload上传文件

    【使用commons-fileupload上传文件】 Apache Commons FileUpload是Apache组织的一个子项目,专注于处理HTTP文件上传。这个组件提供了一个简洁的API,使得开发者能够轻松地在Java应用中处理由浏览器发送的多部分...

    commons-fileupload.rar

    不过,由于这个文件不在我们的讨论范围内,我们主要关注的是`commons-fileupload.jar`,它是实现文件上传功能的关键组件。通过合理使用这个库,开发者可以构建更强大、更健壮的文件上传功能,同时避免了手动处理多...

    commons-fileupload文件上传组件中文教程--张孝祥写的

    - 创建`lib`目录,并下载Apache Commons FileUpload组件(版本1.0),解压后将`commons-fileupload-1.0.jar`放入`lib`目录。 - 创建`src`目录用于存放Java源代码,并编写`compile.bat`批处理文件以便于编译Java...

    jsp\java上传代码

    在标题提到的"commons-fileupload-1.0上传组件使用实例"中,包含了`commons-fileupload-1.0.jar`这个核心库文件,以及一个名为`commons-fileupload-1.0上传组件使用实例.txt`的文本文件,里面应该包含具体的使用说明...

    fileupload组件上传文档介绍

    Apache Commons FileUpload 是一款广泛使用的文件上传组件,它简化了文件上传的处理流程,使开发者能够轻松地处理客户端发送过来的文件。本节将详细介绍如何准备实验环境以便使用此组件。 #### 三、实验环境准备 ...

    用java在web环境下上传和下载文件的技巧

    下面我们将详细介绍如何使用Java和Commons FileUpload组件来实现文件上传和下载。 **1. 文件上传** 首先,你需要从Apache官方网站(http://jakarta.apache.org/commons/fileupload/)下载并安装Commons FileUpload...

    java文件上传下载实例

    通过本文的学习,我们不仅了解了如何使用Commons FileUpload组件来实现文件上传功能,还了解了文件下载的基本思路。这对于开发具有文件上传下载功能的Java Web应用来说是非常重要的基础。当然,在实际开发过程中还...

    Java开发中常用jar包的作用

    - **作用**: Apache Commons项目的组成部分之一,提供了对Java Bean的操作工具,如属性的获取和设置等,是Hibernate框架中使用的重要组件之一。 #### commons-cli-1.0.jar - **作用**: 提供了一种简便的方式来解析...

    介绍J2EE常用Jar包的含义.doc

    14. **commons-fileupload.jar** - **用途**: 支持JSP中的文件上传功能。 - **应用场景**: 文件上传功能的Web应用程序。 15. **commons-io.jar** - **用途**: 扩展了Java标准I/O功能。 - **应用场景**: 需要...

    Struts1.x.pdf

    - `commons-fileupload.jar`:用于实现文件上传功能。 - `commons-logging.jar`:提供日志处理能力。 - `commons-beanutils.jar`:简化了POJO的属性赋值和拷贝操作。 - `commons-validator.jar`:用于表单验证。...

    struts基本知识介绍

    - **commons-fileupload.jar**: 提供文件上传的功能,通过进一步封装简化了文件上传过程。 - **commons-logging.jar**: 提供日志记录功能,方便开发者跟踪程序运行状态。 - **commons-beanutils.jar**: 提供了对POJO...

    Struts2的结构和编写过程笔记

    - `commons-fileupload-1.2.1.jar`: 文件上传支持。 4. **配置过滤器**:编辑`/Webroot/WEB-INF/web.xml`文件,添加Struts2的过滤器配置。 ```xml &lt;filter-name&gt;struts2&lt;/filter-name&gt; &lt;filter-class&gt;org....

    Struts 2课件

    - `Commons-fileupload`:用于文件上传功能。 - 集成其他框架时,如Spring,需要相应的-plugin JAR文件,如`struts2-spring-plugin-2.x.x.jar`。 2. **启动配置**: 在Struts1中,框架通过Servlet启动;而在...

    struts2框架的搭建与程序

    - `commons-fileupload-1.2.1.jar`:用于文件上传的支持组件。 ##### 2. 编写Struts2配置文件 Struts2的配置文件通常命名为`struts.xml`,位于项目的`WEB-INF/classes`目录下。示例配置如下: ```xml ...

    struts2_上传图片展览.doc

    2. **Commons FileUpload组件**:Struts 2利用Apache Commons FileUpload组件解析这个多部分数据,将其拆分成一个个单独的文件或字段,然后存储到服务器的临时目录。 3. **Struts 2拦截器**:在Struts 2中,`...

Global site tag (gtag.js) - Google Analytics