主要代码1.上传的页面代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <head> <base href="<%=basePath%>"> <title>Uploadify</title> <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/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="js/swfobject.js"></script> <script type="text/javascript" src="js/jquery.uploadify.v2.1.0.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#uploadify").uploadify({ 'uploader' : 'js/uploadify.swf', 'script' : '/zanwork/upload.up;jsessionid=<%=session.getId()%>', 'cancelImg' : 'images/cancel.png', 'folder' : 'uploads', 'queueID' : 'fileQueue', 'auto' : false,//是否自动上传 'multi' : true, 'fileDesc':'请选择rar doc pdf文件', 'sizeLimit': 1000*1024, // 注意这里,这里是文件大小。。。 'fileExt':'*.doc;*.pdf;*.rar;*.zip', 'height' : 34, 'width' : 118, 'buttonImg' : 'images/img_select.jpg',//按钮的图片 'simUploadLimit' : 2, 'wmode' : 'transparent' , onComplete : function (event, queueID, fileObj, response, data) { alert(response); }, onError : function(event, queueID, fileObj){ alert("文件:" + fileObj.name + " 上传失败1");} }); $("#uploadify2").uploadify({ 'uploader' : 'js/uploadify.swf', 'script' : '/zanwork/upload.up;jsessionid=<%=session.getId()%>', 'cancelImg' : 'images/cancel.png', 'folder' : 'uploads', 'auto' : false, 'multi' : true, 'sizeLimit': 1000*1024, // 注意这里,这里是文件大小。。。 'simUploadLimit' : 2, 'fileDesc':'请选择rar doc pdf文件', 'fileExt':'*.doc;*.pdf;*.rar', 'height' : 34, 'width' : 118, 'buttonImg' : 'images/img_select.jpg', 'wmode' : 'transparent', onComplete : function (event, queueID, fileObj, response, data){ $("#fileA").val(response);//此处可以处理返回的数据 }, onError : function(event, queueID, fileObj){ alert("文件:" + fileObj.name + " 上传失败2");} }); }); </script> </head> <body> <!-- --> <div id="fileQueue"></div> <input type="file" name="uploadify" id="uploadify" /> <p> <a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a> <a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a> </p> <input type="file" name="uploadify2" id="uploadify2" /> <p> <a href="javascript:jQuery('#uploadify2').uploadifyUpload()">上传</a> <a href="javascript:jQuery('#uploadify2').uploadifyClearQueue()">取消所有上传</a> </p> <input type="text" id="fileA" /> </body> </html>
2.配置一个上传文件的东西,html是没法上传的,所以你需要一个上传的servlet
package servlet; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import java.util.UUID; 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; @SuppressWarnings("serial") public class Upload extends HttpServlet { @SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("执行到后台了。"); String savePath = this.getServletConfig().getServletContext() .getRealPath(""); savePath = savePath + "/uploads/"; File f1 = new File(savePath); //System.out.println(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(); long size = item.getSize(); String type = item.getContentType(); //System.out.println(size+"字节" + " " + type); if (name == null || name.trim().equals("")) { continue; } //扩展名格式: if (name.lastIndexOf(".") >= 0) { extName = name.substring(name.lastIndexOf(".")); } File file = null; do { //生成文件名: name = UUID.randomUUID().toString().replaceAll("-", "");//删除uuid的- file = new File(savePath + name + extName); } while (file.exists()); File saveFile = new File(savePath + name + extName); try { item.write(saveFile); } catch (Exception e) { e.printStackTrace(); } } } response.getWriter().print(name + extName); } }
3.然后你要配置此servlet
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>upload</servlet-name> <servlet-class>servlet.Upload</servlet-class> </servlet> <servlet-mapping> <servlet-name>upload</servlet-name> <url-pattern>/zanwork/upload.up</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
4.大功告成,你的还不行,那试试我的吧。