`
rayln
  • 浏览: 434251 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

swfupload例子

 
阅读更多
参考自:http://zhangqgc.iteye.com/blog/906419

SWFUpload官方的例子都是PHP的,在这里提供一个Java版的最简单的使用例子,使用JSP页面完成所有操作。

这里[b]使用tomcat服务器,不同的服务器,可能在路径写法会有所不同[/b]

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.io.*"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%@ page import="org.apache.commons.codec.binary.*"%>
<%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@ page import="org.apache.commons.fileupload.FileItemFactory"%>
<%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page import="org.apache.commons.fileupload.FileItem"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>SWFUpload简单使用例子 Java版(JSP)</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

<script type="text/javascript" src="swfupload/swfupload.js"></script>
<!-- <script type="text/javascript" src="js/swfupload.queue.js"></script> -->
<script type="text/javascript" src="js/fileprogress.js"></script>
<script type="text/javascript" src="js/handlers.js"></script>

<link href="css/default.css" rel="stylesheet" type="text/css" />

<script type="text/javascript">
	var upload;
	window.onload = function() {
		upload = new SWFUpload(
				{
					// 处理文件上传的url  ${pageContext.request.contextPath}
					upload_url : "/swfupload/example.jsp?upload=1", // 路径写全,否则Firefox下会出现404错误。自由修改处一:处理文件上传的url路径,注意还要写全部

					// 上传文件限制设置
					file_size_limit : "10240", // 10MB
					file_types : "*.jpg;*.gif;*.png", //此处也可以修改成你想限制的类型,比如:*.doc;*.wpd;*.pdf
					file_types_description : "Image Files",
					file_upload_limit : "5",
					//file_queue_limit : "3",

					// 事件处理设置(所有的自定义处理方法都在handler.js文件里)
					file_dialog_start_handler : fileDialogStart,
					file_queued_handler : fileQueued,
					file_queue_error_handler : fileQueueError,
					file_dialog_complete_handler : fileDialogComplete,
					upload_start_handler : uploadStart,
					upload_progress_handler : uploadProgress,
					upload_error_handler : uploadError,
					upload_success_handler : uploadSuccess,
					upload_complete_handler : uploadComplete,

					// 按钮设置
					button_image_url : "swfupload/xpbutton.png", // 按钮图标
					button_placeholder_id : "spanButtonPlaceholder",
					button_width : 61,
					button_height : 22,

					// swf设置
					flash_url : "swfupload/swfupload.swf",

					custom_settings : {
						progressTarget : "fsUploadProgress",
						cancelButtonId : "btnCancel"
					},

					// Debug 设置
					debug : false
				});
	};
</script>

</head>
<%
	String uploadSign = request.getParameter("upload");
	String rootPath = request.getParameter("rootPath");
	String path = request.getParameter("path");
	if (rootPath == null)
		rootPath = "";
	rootPath = rootPath.trim();
	if (rootPath.equals("")) {
		rootPath = application.getRealPath("files");//自由修改处二:指定服务器固定文件
	}

	if (path == null) {
		path = rootPath;
	} else {
		path = new String(Base64.decodeBase64(path.getBytes()));
	}
%>
<%
	//上传操作
	if (null != uploadSign && !"".equals(uploadSign)) {
		FileItemFactory factory = new DiskFileItemFactory();
		ServletFileUpload upload = new ServletFileUpload(factory);
		//upload.setHeaderEncoding("UTF-8");
		try {
			List items = upload.parseRequest(request);
			if (null != items) {
				Iterator itr = items.iterator();
				while (itr.hasNext()) {
					FileItem item = (FileItem) itr.next();
					if (item.isFormField()) {
						continue;
					} else {
						java.util.UUID uuid = java.util.UUID.randomUUID();
						String type = item.getName().split("\\.")[1];//获取文件类型
						File savedFile = new File(path,uuid + "." + type);
						item.write(savedFile);
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
%>
<body>
	<div class="flash" id="fsUploadProgress"></div>
	<div style="padding-left: 5px;">
		<span id="spanButtonPlaceholder"></span> <input id="btnCancel"
			type="button" value="取消" onclick="cancelQueue(upload);"
			disabled="disabled"
			style="margin-left: 2px; height: 22px; font-size: 8pt;" />
	</div>
</body>
</html>


OK,完成!

在这里上传个例子,方便使用学习。
分享到:
评论

相关推荐

    SWFUpload例子

    在“SWFUpload例子”中,我们可以看到一个简单的示例,它演示了如何在网页中集成SWFUpload,以提供高效且用户友好的文件上传体验。 SWFUpload的核心功能包括: 1. **多文件选择**:SWFUpload支持用户一次选择多个...

    四、struts2+swfUpload例子二

    在这个"四、struts2+swfUpload例子二"中,我们将深入探讨如何将这两者结合,以实现高效的文件上传功能。 首先,为了集成Struts2和SwfUpload,我们需要在项目中引入相应的依赖库。对于Struts2,这通常包括struts2-...

    swfUpload 上传例子

    **SwfUpload 知识点详解** SwfUpload 是一个开源的Flash上传组件,它允许在Web应用程序中实现多文件上传功能。这个组件利用了Flash技术来绕过浏览器的一些限制,比如JavaScript通常不能处理大文件的上传或者一次...

    swfupload实例]SWFUpload_java实例.doc

    ### SWFUpload与Java实例详解 #### SWFUpload概述 SWFUpload是一个强大的Flash和JavaScript组件,用于实现浏览器上的多文件无刷新上传功能。通过利用Flash技术,它能够跨浏览器和平台提供一致的用户体验,同时提供...

    关于SWFUpload例子

    这个例子可能包含了一个使用SWFUpload技术的具体示例,帮助我们理解如何在网站上集成这个强大的工具。SWFUpload利用Flash插件在后台批量上传文件,提供了良好的用户体验,如进度条显示、多文件选择等特性。 1. **...

    PHP jquery SWFUpload 实例

    SWFUpload是一个优秀的JavaScript库,它利用Flash技术实现了多文件选择、预览、进度条显示等功能,为文件上传提供了更为高级的用户体验。本文将详细讲解如何使用PHP、jQuery和SWFUpload来创建一个高效的文件上传实例...

    swfupload仿58赶集图片上传的小例子

    在本例中,"swfupload例子"压缩包中包含了必要的文件,包括SWFUpload的主文件(如`swfupload.swf`)、JavaScript库(如`swfupload.js`)以及相关的CSS样式文件。将这些文件放在合适的目录下,并确保它们在HTML页面中...

    swfUpload 使用简单例子

    **SWFUpload 简介** SWFUpload 是一个开源的JavaScript库,它允许开发者在网页上实现高级的文件上传功能。这个库利用了Flash技术,可以在不刷新页面的情况下进行多文件选择和上传,提供了良好的用户体验。SWFUpload...

    asp 的swfupload上传例子

    综上所述,"asp 的swfupload上传例子"提供了在ASP环境中集成SWFUpload组件的实例,涵盖了前端Flash组件的使用、后端ASP处理逻辑、文件上传的交互设计以及安全性等多个方面,是学习和研究ASP文件上传功能的宝贵资料。...

    jsp 的swfupload上传例子 v2.1版本

    **SwfUpload 知识点详解** SwfUpload 是一个流行的JavaScript库,它允许在网页上实现复杂的文件上传功能,特别适用于需要批量上传或者大文件上传的场景。它通过在后台运行的Flash组件来实现这一功能,使得用户可以...

    PHP多文件上传 SWFUpload上传例子

    这个"PHP多文件上传 SWFUpload上传例子"是一个演示如何将SWFUpload与PHP结合使用的示例项目。 首先,我们需要了解SWFUpload的工作原理。它使用了Flash技术,因为Flash支持在客户端选择多个文件进行上传,而HTML原生...

    SWFUpload v2.2.0.1源码及使用例子

    其次,`SWFUpload使用例子.zip`提供了使用SWFUpload的实际示例,这对于初学者来说是非常有价值的。通过这些实例,你可以快速掌握如何在项目中集成SWFUpload,例如配置初始化参数、监听各种事件(如文件选择、上传...

    SwfUpload大文件上传例子

    SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 * 可以同时上传多个文件;  * 类似AJAX的无...

    三、struts2+swfUpload简单例子

    这个"三、struts2+swfUpload简单例子"很可能是关于如何集成这两个技术来创建一个高效的文件上传功能的教程。 在集成Struts2和SwfUpload的过程中,有几个关键知识点是必不可少的: 1. **Struts2框架**:Struts2提供...

    swfupload媒体文件上传例子

    利用swfupload结合struts2实现的一个上传mp3和mp4文件,并可以在页面上用html5进行播放,本例只是自己动手写的一个小例子。注意:为了节省资源,例子中并未包含struts2的jar,需要手动添加struts2用到的jar包

    多文件上传组件SWFUpload java环境小例子

    通过这个小例子,我们可以学习到如何在Java Web应用中使用SWFUpload组件,实现多文件上传功能,从而提高用户交互性和网站性能。理解并掌握这些知识点对于任何涉及文件上传的Web开发项目都是至关重要的。

Global site tag (gtag.js) - Google Analytics