首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

使用Commons进行文件下传

2012-10-25 
使用Commons进行文件上传一、下载最新版的uploadifyhttp://www.uploadify.com/download/二、将压缩包解压,复

使用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 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>  


热点排行