`
KuangYeYaZi
  • 浏览: 55893 次
文章分类
社区版块
存档分类
最新评论

swfupload实现文件上传的轻量纯Jsp版

 
阅读更多

首先下载http://commons.apache.org/proper/commons-fileupload/ ,

推荐用这个 FileUpload 1.2.2 - 29 July 2010

在这里里任选一个包,这里下载的少了一个commons-io-2.2.jar这个jar包,请在这里下载http://commons.apache.org/proper/commons-io/download_io.cgi

 

或者直接用struts2里面的两个jar包(分别是commons-fileupload-1.3.1.jar   和 commons-io-2.2.jar),stuts2里面用的是

FileUpload 1.3.1 - 7 February 2014里面的这个commons-fileupload-1.3.1.jar  包

 

第二,在eclipse或者myeclipse里面新建一个Web工程(在eclipse里面一定要功态Web工程),拷贝上面下载的两个jar包,也就是commons-fileupload-1.3.1.jar   和 commons-io-2.2.jar到web工具的  lib  路径下。

直接新建一个jsp或者html文件。复制下面的文件上传表单代码过去。代码清单如下:

<!DOCTYPE >
<html>
<meta  charset="utf-8">
<head>
<title>SWFUpload</title>
<link href="js/swfupload/css/default.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/swfupload//js/swfupload.js"></script>
<script type="text/javascript" src="js/swfupload//js/swfupload.queue.js"></script>
<script type="text/javascript" src="js/swfupload//js/fileprogress.js"></script>
<script type="text/javascript" src="js/swfupload//js/handlers.js"></script>
<script type="text/javascript">
		var swfu;

		window.onload = function() {
			var settings = {
				flash_url : "js/swfupload/swf/swfupload.swf",
				upload_url: "http://localhost:8080/goods/upload.jsp",	
				post_params: {"PHPSESSID" : ""},
				file_size_limit : "100 MB",
				file_types : "*.*",
				file_types_description : "All Files",
				file_upload_limit : 10,  //配置上传个数
				file_queue_limit : 0,
				file_post_name : 'Filedata',
				custom_settings : {
					progressTarget : "fsUploadProgress",
					cancelButtonId : "btnCancel"
				},
				debug: true,

				// Button settings
				button_image_url: "js/swfupload/images/TestImageNoText_65x29.png",
				button_width: "65",
				button_height: "29",
				button_placeholder_id: "spanButtonPlaceHolder",
				button_text: '<span class="theFont">浏览</span>',
				button_text_style: ".theFont { font-size: 16; }",
				button_text_left_padding: 12,
				button_text_top_padding: 3,
				
				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,
				queue_complete_handler : queueComplete	
			};

			swfu = new SWFUpload(settings);
	     };
	</script>
</head>
<body>
<div id="header">
	<h1 id="logo"><a href="index.htm">SWFUpload</a></h1>
	<div id="version">v2.2.0</div>
</div>

<div id="content">
	<form id="form1" action="" method="post" enctype="multipart/form-data">
		<p>点击“浏览”按钮,选择您要上传的文档文件后,系统将自动上传并在完成后提示您。</p>
		<p>请勿上传包含中文文件名的文件!</p>
		<div class="fieldset flash" id="fsUploadProgress">
			<span class="legend">快速上传</span>
	  </div>
		<div id="divStatus">0 个文件已上传</div>
			<div>
				<span id="spanButtonPlaceHolder"></span>
				<input id="btnCancel" type="button" value="取消所有上传" onclick="swfu.cancelQueue();" disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;">
			</div>

	</form>
</div>

</body>
</html>

 

jsp页面的源代码如下:

<%@page import="java.io.*"%>
<%@page import="java.text.*"%>
<%@page import="java.util.*"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="org.apache.commons.fileupload.FileItem"%>
<%@page import="org.apache.commons.fileupload.FileItemFactory"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	FileItemFactory itemFactory = new DiskFileItemFactory();
	ServletFileUpload upload = new ServletFileUpload(itemFactory);

	List<FileItem> items = upload.parseRequest(request);
	if (items != null) {
		for (FileItem item : items) {
			String name = item.getName();
				/* 
				* 这里不用这个了哦
				* if (name != null) { 
				*/  
				if(item.isFormField()){  
	                  continue;  
	              }else{
				System.out.println("文件名:" + name);
				System.out.println("文件:" + item.getFieldName());
				System.out.println("文件名大小: " + item.getSize() + " B");
				System.out.println("文件名类型: " + item.getContentType());

				String root = request.getSession().getServletContext()
						.getRealPath("/");
				System.out.println("当前上传到服务器的根目录是 :   " + root);

				String separator = java.io.File.separator;//得到当前系统的文件分隔符

				String path = root + "upload";
				System.out.println("当前上传到服务器的path目录是 :   " + path);

				/**
				创建一个保存上传文件的文件夹
				 */
				File file = new File(path);
				if (!file.exists()) {
					file.mkdirs();
				}

				
				//以当前精确到秒的日期为上传的文件的文件名  
				SimpleDateFormat sdf = new SimpleDateFormat(
						"yyyyMMddkkmmss");
				String type = item.getName().split("\\.")[1];//获取文件类型  
				File savedFile = new File(path, sdf.format(new Date())
						+ "." + type);
				item.write(savedFile);
			}
		}

	}
%>

 

至此,实现文件上传的过程全部搞完了。总结点:  在eclipse中一定要进行文件重命名,不然得到的都是一个文件夹,而不是得到文件内容。

说明一些内容:

判断某项是否是普通的表单类型。
if (name != null) {    //jsp里面的这个代码见面说明。。推荐用这里的这种说明,也就是写上jsp代码那样子的形式。
例如:在上传文件时用到
List<FileItem> list = upload.parseRequest(request);
for(FileItem item : list){
   if(item.isFormField()){
        。。。。//判断该表单项是否是普通类型
   }else{
       。。。。 //否则该表单项是file 类型的
   }
}
另外附上一个很6的3D  jquery的轮播图 的代码 ,源文件和代码都在这个Slicebox-master.zip里面
分享到:
评论

相关推荐

    swfupload实现文件上传的轻量版

    它通过Flash插件提供了一种轻量级、高效的文件上传解决方案,能够处理多文件选择、进度条显示以及预览等功能,尤其适合那些需要大文件上传或者批量上传的场景。本篇文章将深入探讨SWFUpload的工作原理、安装配置以及...

    Struts+swfupload实现文件上传功能

    在本文中,我们将深入探讨这两个组件以及如何将它们整合以实现文件上传。 首先,Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它提供了一种组织和管理Web应用的方式,使得开发者可以更...

    swfupload多文件上传jsp+servlet(SSH可用)

    总之,"swfupload多文件上传jsp+servlet(SSH可用)"项目提供了一个完整的多文件上传解决方案,涵盖了前端交互、后端处理以及与SSH框架的集成。开发者可以根据项目需求,灵活调整和扩展这个基础框架。

    swfupload多文件上传带进度条实例

    SWFUpload 是一款开源的JavaScript库,专门用于在网页上实现文件的多选上传,并且支持显示上传进度条,为用户提供更好的交互体验。在这个实例中,我们将探讨如何在VS2012环境下,使用.NET Framework 4.0开发一个基于...

    SWFUpload实现多文件上传

    在这里,SWFUpload上传的文件会被发送到一个指定的Servlet,由Servlet来解析请求,保存文件到服务器的指定位置。 4. **JSP**:JSP(JavaServer Pages)是Java Web开发中的视图层技术,用于生成动态HTML、XML或其他...

    SWFUpload,多文件上传选择,jsp,servlet版本

    SWFUpload是一款经典的JavaScript与Flash相结合的文件上传组件,它被广泛用于实现多文件和大文件的无刷新上传功能。这个组件特别适用于那些需要在网页上进行批量上传或上传大文件而不能打断用户操作的场景。它的工作...

    SWFUpload图片上传并显示javaee+jsp版

    SWFUpload是一个经典的JavaScript库,它允许在网页中实现文件,特别是图片的上传功能,而无需刷新整个页面。这个项目是基于JavaEE平台构建的,结合了Struts框架和JSP技术,提供了一种高效、用户友好的图片上传和显示...

    SwfUpload多文件上传

    SwfUpload是一款经典的Flash-based文件上传组件,它允许用户在网页上实现多文件同时上传的功能。SwfUpload因其良好的用户体验和高效性能,在过去的几年里被广泛应用于各种网站和应用程序。Struts1则是一个古老的但...

    SwfUpload 多文件上传

    SwfUpload 是一款开源的Flash上传组件,它允许用户在网页上实现多文件上传功能,尤其适用于需要大文件上传或批量上传的场景。这个技术在Web开发中被广泛应用,因为它可以提供比传统HTML表单上传更好的用户体验。...

    swfupload实现文件上传

    **SWFUpload 实现文件上传详解** 在网页中实现文件上传功能时,传统的HTML表单方式存在诸多限制,比如无法预览文件、无法多文件上传等。为了解决这些问题,开发者通常会寻找更为灵活和强大的解决方案,SWFUpload ...

    SWFUpload,多文件上传选择,jsp版

    这个"SWFUpload,多文件上传选择,jsp版"的压缩包显然提供了SWFUpload在JSP环境下的实现,使得Java开发者能够轻松地在他们的应用中集成多文件上传功能。 首先,我们来看看主要的组件: 1. **swfupload.js**:这是...

    SpringMvc+SWFUpload实现文件异步上传

    在本文中,我们将深入探讨如何使用Spring MVC框架与SWFUpload库来实现文件的异步上传功能。异步上传能够显著提升用户体验,因为它允许用户在上传文件时继续使用其他页面功能,无需等待整个上传过程完成。 **Spring ...

    Asp.Net SWFUpload多文件上传;KindEditor富文本框用户控件

    SWFUpload是一款基于Flash的文件上传组件,它能够提供异步的、多文件选择和上传的功能。尽管现在Flash技术已经逐渐被淘汰,但在HTML5普及之前,SWFUpload因其优秀的多文件上传体验而备受青睐。SWFUpload的特点包括:...

    swfupload实现多文件上传Demo

    swfupload实现多文件上传Demo,用servlet实现上传文件(SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件...

    SWFUpload 异步文件上传

    SWFUpload 是一个流行的JavaScript插件,它允许用户在Web页面上实现异步文件上传功能。这个插件利用Adobe Flash技术来提供非浏览器原生的文件上传体验,因此在早期对于那些不支持HTML5的浏览器来说,SWFUpload 是一...

    swfupload(jsp+flash文件上传)

    SwfUpload 是一款开源的文件上传组件,它结合了Java Server Pages (JSP) 和Adobe Flash技术,提供了一种在Web应用中实现高效、用户体验友好的文件上传方式。这款组件在早期的Web开发中非常流行,因为它允许用户通过...

    swfupload多文件上传jsp+servlet

    这通常意味着用户可以参考这些代码来了解如何在自己的项目中集成SWFUpload,实现文件上传功能。 **标签解析:** 1. **swfupload**:这是本项目的核心技术,是一个JavaScript和Flash结合的文件上传工具,提供异步、...

    swfupload控件实现flash文件上传

    SWFUpload是一款强大的JavaScript与Flash相结合的文件上传控件,它允许用户在浏览器中实现无刷新的多文件上传,提供丰富的上传进度显示和事件回调功能。这个控件最初由Vinterwebb.se开发,旨在超越传统...

    java+struts+swfupload文件上传下载

    2. **创建Struts Action**:在Struts框架中创建一个Action类,用于接收SwfUpload上传的文件。这个Action需要继承自Struts的抽象类,并覆盖上传方法。 3. **处理上传请求**:在Action的上传方法中,使用Java的IO流...

Global site tag (gtag.js) - Google Analytics