java commons组件 swfupload组件 文件上传 servlet jsp
1.官网swfupload是php版本的,搞个jsp版本的。
index.jsp:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 5 <html xmlns="http://www.w3.org/1999/xhtml" > 6 <head> 7 <title>SWFUpload Demos - Simple Demo</title> 8 <link href="css/default.css" rel="stylesheet" type="text/css" /> 9 <script type="text/javascript" src="js/swfupload/swfupload.js"></script> 10 <script type="text/javascript" src="js/swfupload.queue.js"></script> 11 <script type="text/javascript" src="js/fileprogress.js"></script> 12 <script type="text/javascript" src="js/handlers.js"></script> 13 <script type="text/javascript"> 14 var swfu; 15 16 window.onload = function() { 17 var settings = { 18 flash_url : "js/swfupload/swfupload.swf", 19 upload_url: "add", 20 post_params: {"ddd" : "123"}, 21 file_size_limit : "100 MB", 22 file_types : "*.*", 23 file_types_description : "All Files", 24 file_upload_limit : 100, 25 file_queue_limit : 0, 26 custom_settings : { 27 progressTarget : "fsUploadProgress", 28 cancelButtonId : "btnCancel" 29 }, 30 debug: false, 31 32 // Button settings 33 button_image_url: "images/TestImageNoText_65x29.png", 34 button_width: "65", 35 button_height: "29", 36 button_placeholder_id: "spanButtonPlaceHolder", 37 button_text: '<span class="theFont">Hello</span>', 38 button_text_style: ".theFont { font-size: 16; }", 39 button_text_left_padding: 12, 40 button_text_top_padding: 3, 41 42 // The event handler functions are defined in handlers.js 43 file_queued_handler : fileQueued, 44 file_queue_error_handler : fileQueueError, 45 file_dialog_complete_handler : fileDialogComplete, 46 upload_start_handler : uploadStart, 47 upload_progress_handler : uploadProgress, 48 upload_error_handler : uploadError, 49 upload_success_handler : uploadSuccess, 50 upload_complete_handler : uploadComplete, 51 queue_complete_handler : queueComplete // Queue plugin event 52 }; 53 54 swfu = new SWFUpload(settings); 55 }; 56 </script> 57 </head> 58 <body> 59 <div id="header"> 60 <h1 id="logo"><a href="../">SWFUpload</a></h1> 61 <div id="version">v2.2.0</div> 62 </div> 63 64 <div id="content"> 65 <h2>Simple Demo</h2> 66 <form id="form1" action="add" method="post" enctype="multipart/form-data"> 67 <p>This page demonstrates a simple usage of SWFUpload. 68 It uses the Queue Plugin to simplify uploading or cancelling all queued files.</p> 69 70 <div class="fieldset flash" id="fsUploadProgress"> 71 <span class="legend">Upload Queue</span> 72 </div> 73 <div id="divStatus">0 Files Uploaded</div> 74 <div> 75 <span id="spanButtonPlaceHolder"></span> 76 <input id="btnCancel" type="button" value="Cancel All Uploads" 77 onclick="swfu.cancelQueue();" disabled="disabled" 78 style="margin-left: 2px; font-size: 8pt; height: 29px;" /> 79 </div> 80 </form> 81 </div> 82 </body> 83 </html>
web.xml:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 6 id="WebApp_ID" version="2.5"> 7 <display-name>swfupload</display-name> 8 <welcome-file-list> 9 <welcome-file>index.html</welcome-file> 10 <welcome-file>index.htm</welcome-file> 11 <welcome-file>index.jsp</welcome-file> 12 <welcome-file>default.html</welcome-file> 13 <welcome-file>default.htm</welcome-file> 14 <welcome-file>default.jsp</welcome-file> 15 </welcome-file-list> 16 <servlet> 17 <description></description> 18 <display-name>AddServlet</display-name> 19 <servlet-name>AddServlet</servlet-name> 20 <servlet-class>com.zenger.servlet.AddServlet</servlet-class> 21 </servlet> 22 <servlet-mapping> 23 <servlet-name>AddServlet</servlet-name> 24 <url-pattern>/add</url-pattern> 25 </servlet-mapping> 26 </web-app>
AddServlet.java:
1 package com.zenger.servlet; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.util.Iterator; 6 import java.util.List; 7 8 import javax.servlet.ServletException; 9 import javax.servlet.http.HttpServlet; 10 import javax.servlet.http.HttpServletRequest; 11 import javax.servlet.http.HttpServletResponse; 12 13 import org.apache.commons.fileupload.FileItem; 14 import org.apache.commons.fileupload.FileUploadException; 15 import org.apache.commons.fileupload.disk.DiskFileItemFactory; 16 import org.apache.commons.fileupload.servlet.ServletFileUpload; 17 18 /** 19 * servlet利用commons组件实现的文件上传 20 */ 21 public class AddServlet extends HttpServlet { 22 private static final long serialVersionUID = 1L; 23 24 /** 25 * @see HttpServlet#HttpServlet() 26 */ 27 public AddServlet() { 28 super(); 29 // TODO Auto-generated constructor stub 30 } 31 32 /** 33 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 34 */ 35 protected void doGet(HttpServletRequest request, HttpServletResponse response) 36 throws ServletException, IOException { 37 doPost(request, response); 38 } 39 40 /** 41 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 42 */ 43 protected void doPost(HttpServletRequest request, HttpServletResponse response) 44 throws ServletException, IOException { 45 System.out.println("---------start------------"); 46 String path = this.getServletContext().getRealPath("/file"); 47 DiskFileItemFactory factory = new DiskFileItemFactory(); 48 factory.setRepository(new File(path)); 49 factory.setSizeThreshold(1024*1024); 50 ServletFileUpload sfu = new ServletFileUpload(factory); 51 try { 52 List<FileItem> fis = sfu.parseRequest(request); 53 Iterator<FileItem> it = fis.iterator(); 54 while (it.hasNext()) { 55 FileItem fi = (FileItem) it.next(); 56 if (!fi.isFormField()) { //文件 57 String fileName = fi.getName(); 58 System.out.println("file name="+fileName); 59 fi.write(new File(path ,fileName));//写入硬盘 60 } 61 } 62 } catch (FileUploadException e) { 63 e.printStackTrace(); 64 } catch (Exception e) { 65 e.printStackTrace(); 66 } 67 } 68 69 }
2.工程截图

3.是不是很简单啊。
posted on 2013-10-09 14:30 zenger1025 阅读(285) 评论(0) 收藏 举报
浙公网安备 33010602011771号