- 浏览: 204792 次
- 性别:
- 来自: 青岛
最新评论
-
sunysh005:
界面太丑了,功能没有问题
SWFUpload+commons-fileupload 上传文件 -
liwh1989:
<div class="quote_title ...
SWFUpload+commons-fileupload 上传文件 -
liwh1989:
<table class="bbcode&qu ...
SWFUpload+commons-fileupload 上传文件 -
liwh1989:
SWFUpload+commons-fileupload 上传文件 -
貌似掉线:
已用上。多谢!
native2ascii的 java实现
说明:使用SWFUpload 上传文件,可在客户端校验文件大小,动态显示上传进度等。
SWFUpload 官网:http://www.swfupload.org/project
SWFUpload Demo: http://demo.swfupload.org/v220/
// client 端
<%@page language="java" contentType="text/html;charset=utf-8"%> <% String contextPath = request.getContextPath(); %> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <title>Simple Upload Demo</title> <link type="text/css" rel="stylesheet" href="simple.css"/> <script type="text/javascript" src="<%=contextPath%>/js/swfupload.js"></script> <script type="text/javascript" src="handlers.js"></script> <script type="text/javascript"> var swfu; window.onload = function () { swfu = new SWFUpload({ // Flash Settings flash_url : "<%=contextPath%>/flash/swfupload.swf", // Backend settings preserve_relative_urls: true, // 保留相对路径不做转换 upload_url: "<%=contextPath%>/uploadServlet", // servlet path // Flash file settings file_types : "*.jpg;*.png", file_types_description : "Image File", file_size_limit : "10 MB", file_queue_limit : "1", // Event handler settings file_dialog_start_handler: fileDialogStart, // fired after selectFile is called. file_queued_handler : fileQueued, // fired after file selection dialog close. file_queue_error_handler : fileQueueError, // fired when file was not queued. file_dialog_complete_handler : fileDialogComplete,// fired when all files queued. upload_progress_handler : uploadProgress, // upload status upload_error_handler : uploadError, // fired when upload error thrown upload_success_handler : uploadSuccess, // fired when server return a 200 status upload_complete_handler : uploadComplete, // fired at the end of an upload cycle // Button Settings button_image_url : "<%=contextPath%>/image/btnUpload.png", button_placeholder_id : "btnPlaceHolder", button_width: 61, button_height: 22, button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE, // 单选 // debug infor debug:false }); }; </script> </head> <body> <div id="uploadContent"> <input id="txtFileName" type="text" disabled="disabled" value="" style="width:151px;"/> <span id="btnPlaceHolder"></span> <div id="uploadProgress"> <div id="colorStatus"></div> <div id="percentTxt"></div> </div> </div> <input id="btnStartUpload" type="button" value="开始上传" onclick="startUpload()" disabled="disabled" style="position:relative;left:200px;"/> </body> </html>
// server 端
package org.demo.tomcat; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.List; 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.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.FileCleanerCleanup; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.io.FileCleaningTracker; /** * * @author * @date 2010-12-16 * @file org.demo.tomcat.UploadServlet.java */ public class UploadServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @SuppressWarnings("unchecked") @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); boolean isMultipart = ServletFileUpload.isMultipartContent(req); if (!isMultipart){ System.out.println(">> This wasn't a file upload request!"); return; } PrintWriter out = resp.getWriter(); // create factory and file cleanup tracker FileCleaningTracker tracker = FileCleanerCleanup.getFileCleaningTracker(getServletContext()); File tmpDir = new File(getBaseDir() + "/upload/temp"); DiskFileItemFactory factory = new DiskFileItemFactory( DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, tmpDir); factory.setFileCleaningTracker(tracker); // save upload file to disk ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> items = upload.parseRequest(req); String fileName = null; File savefile = null; for (FileItem item : items){ if (!item.isFormField()){ // 确定是文件而不是一个普通的表单字段 fileName = item.getName(); savefile = new File(getBaseDir() + "/upload/" + fileName); item.write(savefile); System.out.println(">> [save] " + savefile.getAbsolutePath()); // to client info out.print("fileId=" + savefile.getAbsolutePath()); out.flush(); } } } catch (Exception e) { System.out.println(">> " + e.getMessage()); throw new IOException(e.getMessage()); } } /** * Return the WEB-INF directory. * @return */ private String getBaseDir(){ return this.getServletContext().getRealPath("/WEB-INF"); } }
- SWFTest.zip (246.4 KB)
- 下载次数: 760
评论
8 楼
sunysh005
2016-04-22
界面太丑了,功能没有问题
7 楼
liwh1989
2016-02-26
liwh1989 写道
6 楼
liwh1989
2016-02-26
5 楼
liwh1989
2016-02-26
4 楼
dpz916
2014-10-20
在地址栏里敲什么能看到运行结果?
3 楼
jjb_bobby
2013-12-27
maylorChao 写道
楼主你确定可以用?
当然这是个源程序,你需要导入到elipse/MyEclipse工作空间,然后再部署到Tomcat下即可。顺便说一下我的环境是Tomcat6.0.36,jdk1.6.0_45。
2 楼
maylorChao
2013-12-19
楼主你确定可以用?
1 楼
jjb_bobby
2013-12-19
例子不错,而且程序包可直接运行。
发表评论
-
ubuntu 里安装 db2
2011-04-11 16:17 5301# 下载 http://www-01.ibm.com ... -
几个小算法题
2011-04-03 13:40 1145/** * 数字三角 * 当 n == 7 时输 ... -
获取 SkyDrive 的文件外链固定地址
2011-04-03 11:47 1462javascript: var id = window.se ... -
常用知识记录
2011-04-02 17:25 1632sql 部分 1. 查询已创建的数据库 // ... -
Java 与 C++ 在表达式运算上的一点异同
2010-12-25 00:24 12931. java public class Main{ ... -
在 ubuntu 下搭建 ftp 服务端 [ vsftpd ]
2010-11-16 20:11 1903vsftpd 1. 安装 ftp 服务端 ... -
Tomcat 常用操作
2010-11-16 13:47 2679tomcat 常用操作 1. 安装 tomcat 1.1 ... -
在 ubuntu 下搭建 svn 服务端
2010-11-13 20:43 3011参考: http://wiki.ubunt ... -
正则表达式常用功能代码
2010-11-02 19:37 13351. 校验 /** * 校验 email * @pa ... -
三种常见的排序方法[选择,冒泡,快速]
2010-10-17 17:51 1120public class Main{ public ... -
Filter 常用代码
2010-10-12 22:50 12291. 压缩 Filter // GZIPFilter.jav ... -
log4j 常用配置代码
2010-10-12 14:35 1399Reference library: commons-log ... -
计算组合数并输出
2010-09-14 09:35 5616问题描述:计算一组数据的组合数并输出 例如:输入1,2,3 ... -
native2ascii的 java实现
2010-09-13 13:49 3893描述:简单模拟JDK自带的 native2ascii.exe ... -
计算全排列
2010-09-13 09:04 1608问题描述:计算一组数 ... -
apache commons dbcp 学习与使用
2010-06-18 20:37 1604类结构 org |_demo |_d ... -
Java常用功能代码
2010-06-10 14:33 59121. 屏幕截图 public static ... -
一个关于组合数的问题
2010-05-03 20:09 11811. 题目来源 未解之谜俱 ... -
Java常用功能代码[ 2 ]
2010-04-27 17:35 14091. 加载所有 jar 包中同名的配置文件 /** * ... -
程序员学习之路
2010-04-14 20:59 14991. JavaScript 1.1 全方位、多角度学习Jav ...
相关推荐
总之,结合jQuery、SWFUpload和Apache Commons FileUpload,我们可以创建一个功能完备且用户体验良好的文件上传系统,包括多文件选择、进度反馈以及安全的服务器端处理。这个过程涉及到前端和后端的协作,需要对...
在描述中提到的项目,显然利用了SWFUpload与FileUpload的组合,来实现带有进度条百分比显示的文件批量上传功能,并且可以在Eclipse环境中直接运行,这通常意味着该项目是一个基于Java的Web应用。 1. **SWFUpload...
使用诸如Apache Commons FileUpload之类的库解析文件数据。 4. **处理文件保存**: 将上传的文件保存到服务器,可以是本地文件系统,也可以是云存储服务。同时,记录每个文件的上传状态。 5. **响应前端**: 生成一...
在本教程中,我们将深入探讨如何使用SwfUpload与`org.apache.commons.fileupload`库来实现文件上传功能。 Apache Commons FileUpload 是一个Java库,专门用于处理HTTP请求中的多部分数据,也就是通常用于文件上传的...
Java中的SWFUpload是一种流行的文件上传工具,尤其适用于处理图片和文件的批量上传。这个工具在Web开发中被广泛使用,因为它提供了用户友好的界面和高效的数据传输能力。SWFUpload是一个基于Flash的组件,它允许用户...
在SwfUploadDome实例中,后端采用了Apache的Commons-Fileupload库来处理上传的文件。Commons-Fileupload是Java Web开发中的一个强大工具,专门用于处理HTTP请求中的多部分数据,即文件上传。它提供了以下关键特性: ...
1. **Multipart请求解析**:SWFUpload上传的文件是以Multipart形式发送的,因此,你需要一个能够解析这种类型的请求的工具或框架,如Apache Commons FileUpload。它能帮助你从请求中分离出文件内容,并存储到服务器...
Java提供了多种处理文件上传的方式,如使用Servlet 3.0的Part接口,或者是Apache Commons FileUpload库。当接收到上传请求时,你需要读取请求中的文件流,并将其保存到服务器的指定位置。这里要注意文件大小限制、...
在Java中,可以使用Apache Commons FileUpload库来简化文件上传的处理过程。这个库提供了处理multipart/form-data请求的工具,方便从请求中解析文件。 总结,SWFUpload结合jQuery提供了一种优雅的多文件上传解决...
- **Apache Commons FileUpload** 和 **Apache Commons IO**:这两个库是Java处理文件上传的核心。`commons-fileupload-1.2.2.jar`和`commons-io-2.0.jar`负责解析请求中的多部分数据,从中提取上传的文件。 - **...
在Java中,可以使用Apache Commons FileUpload库来帮助处理文件上传,它提供了处理文件上传的工具类和异常处理机制。 为了保证安全性,我们还需要防范恶意文件上传,例如检查文件扩展名、MIME类型等,防止上传脚本...
SwfUpload 是一款开源的Flash上传组件,它允许用户在网页中实现拖放式或点击式的文件上传功能,尤其适用于需要处理大文件或多文件上传的场景。在Java和JSP环境中,SwfUpload能与后端服务器进行交互,处理文件上传...
在Java开发中,多文件上传是一项常见的功能,尤其在Web应用程序中,用户可能需要上传一组相关的文件,...无论你选择Apache Commons FileUpload、Spring MVC还是SWFupload,都需要确保文件上传过程的安全性和用户体验。
3. **后端处理**:在Action类中,定义一个方法来接收上传的文件,利用Java的Commons FileUpload库解析上传的多部分数据流。在处理过程中,你可以对文件进行验证、存储或处理。 4. **安全考虑**:确保限制上传文件的...
可以使用Apache Commons FileUpload库或者其他类似库来解析请求中的文件部分。 4. **安全性**:在处理文件上传时,安全是非常重要的。你需要验证上传文件的类型、大小,防止恶意文件如病毒或脚本的上传。同时,文件...
- Struts2提供了一个名为`CommonsFileUploadInterceptor`的拦截器,它基于Apache Commons FileUpload库来处理文件上传。首先,需要在`struts.xml`配置文件中启用此拦截器。 - 需要在Action类中创建一个`java.io....
前端表单需要设置`enctype="multipart/form-data"`来支持文件上传,而后端则使用Servlet或JSP自定义标签库如Apache Commons FileUpload来解析请求中的文件数据。下载时,服务器会生成一个包含文件内容的HTTP响应,并...
Java中可以使用Apache Commons FileUpload库来解析上传请求中的多部分数据。 7. **错误处理和反馈**:在文件上传过程中,可能出现各种错误,如文件过大、格式不正确、网络问题等。因此,良好的用户反馈机制是必要的...
1. **Multipart解析**:Java中,使用`Commons FileUpload`库解析多部分表单数据,获取上传的文件流。 2. **文件存储**:使用Java IO类如`FileOutputStream`将文件保存到服务器磁盘,或者存入数据库(对于大文件不...