`
citybuster_one
  • 浏览: 20696 次
  • 性别: Icon_minigender_2
  • 来自: Mars
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

使用Commons进行文件上传

阅读更多
一、下载最新版的uploadify
     http://www.uploadify.com/download/
二、将压缩包解压,复制
    uploadify.css
   uploadify.swf
   swfobjects.js
   jquery.uploadify.v2.1.0.min.js
   cancel.png
   jquery-1.3.2.min.js
   default.css到项目中。
三、在项目中添加三个jar包
    commons-fileupload-1.2.1.jar
    commons-logging-1.0.4.jar
    commons-io.jar
四、在需要使用上传插件的页页头部导入
  
Html代码

  
 <script type="text/javascript" src="js/jquery-1.4.2.js"></script>  
   <!-- 文件上传开始 -->  
   <link href="css/default.css" rel="stylesheet" type="text/css" />  
   <link href="css/uploadify.css" rel="stylesheet" type="text/css" />  
   <script type="text/javascript" src="js/swfobject.js"></script>  
   <script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>  
   <script type="text/javascript" src="js/function.js"></script>  
   <!-- 文件上传结束 -->  


五、编写js文件
Js代码

 
 1. $(document).ready(function(){     
  //A文件上传  
    $("#uploadFile").uploadify({  
   'uploader'       : 'images/uploadify.swf',//指定上传控件的主体文件,默认‘uploader.swf’  
   'script'         : 'UploadServlet', //指定服务器端上传处理文件  
   'scriptData'     : {'uploadFile':$('#uploadFile').val()},  
   'cancelImg'      : 'images/cancel.png',  
   'fileDataName'   : 'uploadFile',  
   'fileDesc'       : 'jpg文件或jpeg文件或gif文件',  //出现在上传对话框中的文件类型描述  
  'fileExt'        : '*.jpg;*.jpeg;*.gif',      //控制可上传文件的扩展名,启用本项时需同时声明fileDesc  
  'sizeLimit'      : 512000,           //控制上传文件的大小,单位byte               
  'folder'         : '/uploadImages',  
  'queueID'        : 'fileQueueA',  
  'auto'           : false,  //是否为自动上传
  'multi'          : true  //是否允许多文件上传
 });  
 });       
  


六、html代码
Html代码

 
<!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=UTF-8">  
   <title>jquery 文件上传</title>  
   </head>  
   <script type="text/javascript" src="js/jquery-1.4.2.js"></script>  
   <!-- 文件上传开始 -->  
   <link href="css/default.css" rel="stylesheet" type="text/css" />  
  <link href="css/uploadify.css" rel="stylesheet" type="text/css" />  
  <script type="text/javascript" src="js/swfobject.js"></script>  
  <script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>  
  <script type="text/javascript" src="js/function.js"></script>  
  <!-- 文件上传结束 -->  
  <body>  
 <!-- 显示图片 -->  
  <div id="pic" style="position: absolute; right: 28px; top: 79px; width: 180px; height: 230px; z-index: 2;"></div>  
  <div class="demo">  
  <p><strong>Multiple File Upload</strong></p>  
  <input id="uploadFile" name="uploadFile" type="file" /> <a href="javascript:$('#uploadFile').uploadifyUpload();">Upload Files</a> | <a href="javascript:$('#uploadFile').uploadifyClearQueue();">Clear Queue</a></div>    
 <div id="fileQueueA" ></div>  
  </body>  
  </html>  


七、servlet代码
Java代码

  
1. package com.aptech.servlet;  
   import java.io.File;  
   import java.io.IOException;  
   import java.util.Iterator;  
   import java.util.List;  
   import javax.servlet.ServletConfig;  
   import javax.servlet.ServletException;  
   import javax.servlet.http.HttpServlet;  
   import javax.servlet.http.HttpServletRequest;  
   import javax.servlet.http.HttpServletResponse;  
   import org.apache.commons.fileupload.FileItem;  
   import org.apache.commons.fileupload.FileUploadException;  
   import org.apache.commons.fileupload.disk.DiskFileItemFactory;  
   import org.apache.commons.fileupload.servlet.ServletFileUpload;  
   import com.aptech.util.FileUploadUtil;    

   public class UploadServlet extends HttpServlet {  
        private static final long serialVersionUID = 1L;  
        private static String     path;  

       @Override  
      protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {     
       // 生成存放文件的路径  
       String savePath = path + "/";  
          File f1 = new File(savePath);  
       if (!f1.exists()) {  
        f1.mkdirs();  
      }  
       DiskFileItemFactory fac = new DiskFileItemFactory();  
      ServletFileUpload upload = new ServletFileUpload(fac);     
       upload.setHeaderEncoding("utf-8");   
      List fileList = null;  
       try {  
         fileList = upload.parseRequest(request);  
       } catch (FileUploadException ex) {  
         return;  
       }  
       Iterator<FileItem> it = fileList.iterator();  
       String name = "";     
       String extName = "";  
       while (it.hasNext()) {   
         FileItem item = it.next();     
         if (!item.isFormField()) {    
          name = item.getName();     
          // 新的文件名  
           String newUploadFileName = FileUploadUtil.getlnstance().getNewFileName(name);     
          // // 扩展名格式:  
          // if (name.lastIndexOf(".") >= 0) {  
          // extName = name.substring(name.lastIndexOf("."));  
           // }  
           File saveFile = new File(savePath + newUploadFileName);  
           try {   
            item.write(saveFile);    
           } catch (Exception e) {    
             e.printStackTrace();    
           }   
         }     
       }  
     }  .   
    @Override  
    public void init(ServletConfig config) throws ServletException {  
      path = config.getServletContext().getRealPath("/uploadImages");  
   }    
    
 }  


八、配置servlet
Xml代码

  1. <?xml version="1.0" encoding="UTF-8"?>  
   2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  
     <display-name>jquery_upload</display-name>  
     <welcome-file-list>  
        <welcome-file>index.html</welcome-file>  
        <welcome-file>index.htm</welcome-file>  
        <welcome-file>index.jsp</welcome-file>  
        <welcome-file>default.html</welcome-file>  
        <welcome-file>default.htm</welcome-file>  
       <welcome-file>default.jsp</welcome-file>  
     </welcome-file-list>  
     <servlet>  
       <description></description>  
       <display-name>UploadServlet</display-name>  
       <servlet-name>UploadServlet</servlet-name>  
       <servlet-class>com.aptech.servlet.UploadServlet</servlet-class>  
     </servlet>  
     <servlet-mapping>  
       <servlet-name>UploadServlet</servlet-name>  
       <url-pattern>/UploadServlet</url-pattern>  
     </servlet-mapping>  
   </web-app>  


分享到:
评论

相关推荐

    使用commons-fileupload上传文件

    通过使用`commons-fileupload`,开发者可以方便地在Java Web应用中实现文件上传功能,而无需关注底层的HTTP协议细节。这个组件提供了丰富的API,支持各种自定义选项,例如内存阈值、临时文件存储位置等,使得文件...

    fileupload commons-io上传文件

    以上就是关于“fileupload commons-io上传文件”这一主题的详细说明,涵盖了Apache Commons IO和FileUpload库在文件上传中的应用,以及如何使用这两个库实现文件上传功能的基本步骤。在实际开发中,根据具体需求,还...

    java基于commons文件上传工具类

    下面我们将深入探讨如何使用Apache Commons FileUpload创建一个基于Java的文件上传工具类。 首先,我们需要引入Apache Commons FileUpload和Apache Commons IO库。这两个库可以通过Maven或Gradle添加为依赖,或者...

    使用commons-fileupload实现的文件上传和下载

    通过以上步骤,你可以成功地使用Apache Commons FileUpload实现文件上传和下载功能,并避免中文乱码问题。在实际开发中,还可以结合Spring MVC或Struts等框架,进一步简化代码和提高代码的可维护性。

    使用commons-fileupload-1.2.1实现文件上传操作

    使用Apache Commons FileUpload进行文件上传操作主要包括以下几个步骤: 1. **添加依赖**:在项目中引入`commons-fileupload-1.2.1.jar`和`commons-io-2.x.jar`(因为FileUpload依赖于Commons IO库)。在Eclipse中...

    commons-fileupload实现文件上传

    本篇将详细讲解如何使用Commons FileUpload来实现文件上传的功能。 首先,理解HTTP协议中的多部分数据是至关重要的。在HTML表单提交文件时,通常会使用`enctype="multipart/form-data"`属性,此时,数据会被分割成...

    commons-fileupload文件上传实例代码

    本教程将深入讲解如何使用`commons-fileupload`库处理中文乱码问题以及实现多文件上传。 首先,`commons-fileupload`是Apache Commons项目的一个组件,专门用于处理HTTP请求中的多部分数据,即文件上传。它与...

    commons-fileupload 文件上传 图片上传 demo

    在实际应用中,使用`commons-fileupload`进行文件上传的基本步骤如下: 1. 创建一个`Servlet`或者`Filter`来处理HTTP请求。 2. 在`Servlet`或`Filter`中,创建`DiskFileItemFactory`实例来配置内存和磁盘存储策略。...

    文件上传的jar,commons-io,flieupload

    `文件上传的jar,commons-io,flieupload`这个标题所指的,就是利用Apache Commons IO和Apache Commons FileUpload两个库来实现JSP中的文件上传功能。这两个库都是Apache软件基金会开源的Java工具包,为处理输入/输出...

    commons-fileupload文件上传实例

    通过以上步骤,你可以使用Apache Commons FileUpload实现简单的文件上传功能。这个库提供了许多高级特性,如内存和磁盘混合存储、自定义文件保存策略等,可以根据实际项目需求进行深入学习和应用。

    commons-fileupload实现文件上传下载

    ### Commons-FileUpload 实现文件上传下载 #### 知识点概述 Commons-FileUpload 是 Apache 提供的一个用于处理 HTTP 文件上传的组件。它基于 Servlet 规范,并且能够解析来自 `multipart/form-data` 编码类型的 ...

    commons-文件上传必备jar包二合一-io1.4+fileupload1.2.1

    Apache Commons项目为开发者提供了两个非常重要的库:Commons IO和Commons FileUpload,这两个库使得文件上传操作变得简单易行。在"commons-文件上传必备jar包二合一-io1.4+fileupload1.2.1"中,包含了这两个库的...

    基于apache commons.fileupload的文件上传组件,改进了上传速度

    本实现抽取了apache commons.fileupload的最基本代码,组合成一个简单的文件上传组件,对parseRequest方法进行了改进,对于文件,直接存储到指定的上传目录,加快了上传速度。使用本程序时,注意上传端的参数设置,...

    利用commons-fileupload上传组件上传文件(一)

    在本文中,我们将深入探讨如何使用Apache Commons FileUpload组件来实现文件上传功能。Apache Commons FileUpload是一个用于处理HTTP请求中的多部分数据的Java库,它使得在Servlet或JSP应用中处理文件上传变得简单易...

    commons-fileupload-1.2上传文件架包

    标题中提到的"commons-fileupload-1.2"是该库的一个版本,它提供了一套完整的API来简化文件上传的过程。 在描述中提到了另外两个Apache Commons组件:"commons-lang3-3.1"和"commons-io-2.4"。这两个库是Apache ...

    利用org.apache.commons.fileupload上传多个文件

    在使用 Apache Commons FileUpload 进行文件上传之前,你需要确保以下组件已经准备就绪: 1. **引入依赖**:首先,你需要下载并添加 `org.apache.commons.io` 和 `log4j` 的 JAR 包到你的项目类路径中。在本例中,`...

    java文件上传包 commonsio commons upload

    `commons-io`和`commons-fileupload`是Apache Commons项目下的两个重要库,它们为Java提供了强大的文件操作和文件上传功能。下面将详细介绍这两个库以及如何使用它们来实现文件上传。 `commons-io`库主要提供了一...

    commons fileuoload 文件上传jar包

    - 在Servlet环境下,FileUpload通常与ServletRequest接口结合使用,通过`HttpServletRequest.isMultipartContent()`检查请求是否包含文件上传,然后利用`DiskFileItemFactory`和`ServletFileUpload`进行解析。...

Global site tag (gtag.js) - Google Analytics