<%@ page language="java" contentType="text/html; charset=UTF-8" 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" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <base href="<%=basePath%>"> <link href="<%=basePath%>uploadify/uploadify.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="<%=basePath%>uploadify/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="<%=basePath%>uploadify/swfobject.js"></script> <script type="text/javascript" src="<%=basePath%>uploadify/jquery.uploadify.v2.1.4.min.js"></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').uploadifyUpload()">开始上传</a> <a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a> </p> </body> <script type="text/javascript"> //官方网址:http://www.uploadify.com/ $(document).ready(function(){ //$("#uploadify").uploadifySettings('scriptData', {'name':'liudong','age':22}); $("#uploadify").uploadify({ 'uploader' : "<%=basePath%>uploadify/uploadify.swf", 'script' : "<%=basePath%>/uploadify/uploadFile.jsp", 'cancelImg' : "<%=basePath%>uploadify/cancel.png", 'folder' : "uploads",//上传文件存放的路径,请保持与uploadFile.jsp中PATH的值相同 'queueId' : "fileQueue", 'queueSizeLimit' : 10,//限制上传文件的数量 'fileExt' : "*.rar,*.zip", //'fileDesc' : "RAR *.rar",//限制文件类型 'auto' : false, 'multi' : true,//是否允许多文件上传 'simUploadLimit': 2,//同时运行上传的进程数量 'buttonText': "files", 'scriptData': {'name':'liudong','age':22},//这个参数用于传递用户自己的参数,此时'method' 必须设置为GET, 后台可以用request.getParameter('name')获取名字的值 'method' : "GET" }); //$("#uploadify").uploadifySettings(); }); </script> </html>
后台接受程序:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*, java.util.*, org.apache.commons.fileupload.*" %> <%@ page import="org.apache.commons.fileupload.disk.*, org.apache.commons.fileupload.servlet.*" %> <%! String PATH = "/uploads/"; public void upload(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String savePath = this.getServletConfig().getServletContext().getRealPath(""); savePath = savePath + PATH; File f1 = new File(savePath); System.out.println(savePath); //这里接收了name的值 System.out.println(request.getParameter("name")); 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(); 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); } %> <% upload(request, response); %>
转自:http://blog.csdn.net/lychaox/article/details/6866452