- 浏览: 192472 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
TheAngLee:
亲测有效,感谢
如何批量删除twitter的推文 and 批量取消关注 -
511093965:
你好,怎么下载的你的那个没有用啊?点击浏览没有反应,怎么回事呢 ...
使用SWFUpload和fileupload简化多文件上传(附源码) -
郑智睿:
关键是会话信息会丢失,这是个重大问题没解决
使用SWFUpload和fileupload简化多文件上传(附源码) -
郑智睿:
里面的文件不完整
使用SWFUpload和fileupload简化多文件上传(附源码) -
青青雨露:
不能运行啊
使用SWFUpload和fileupload简化多文件上传(附源码)
下载:在下面
一、使用方法如下
JavaScript部分:
1.引入两个js
2.在window.onload里面定义一个参数param
3.执行DjwlSWF.init(param,[fn])方法,回调函数可不写
Html部分:
说明:其中有效部分是<span id="selectfiles">浏览</span>,外面包裹的部分是为了好看,做出一个按钮的形状
二、JavaScript代码
主要是这个js,其他java文件就是普通的fileupload上传,fileupload我也是刚看的,直接用的apache demo里面代码,限制文件大小什么的都还没有写
一、使用方法如下
JavaScript部分:
1.引入两个js
2.在window.onload里面定义一个参数param
3.执行DjwlSWF.init(param,[fn])方法,回调函数可不写
<script type="text/javascript" src="/script/swfupload/swfupload.js"></script> <script type="text/javascript" src="/script/swfupload/djwlswfupload.js"></script> <script type="text/javascript"> window.onload = function () { //定义一个param参数 var param = new Object(); param.ele = document.getElementById("selectfiles"); //dom param.fileType = "*.gif;*.jpg"; //格式限制,中间用英文分号隔开 param.fileCount = 0; //文件个数限制,0表示不限 param.fileSizeLimit = "200 KB"; //单个文件大小限制,单位KB param.paddingLeft = 18; param.paddingTop = 0; param.width = "160"; param.height = "18"; param.img = "/script/swfupload/images/SmallSpyGlassWithTransperancy_17x18.png"; DjwlSWF.init(param, function(data){ //每个文件上传完,会传回来上传后的路径,方便后续ajax操作 var message = document.getElementById("message"); if(message){ message.innerHTML = message.innerHTML + '<img src="'+ data +'" width="50" height="50" />'; } }); }; </script>
Html部分:
说明:其中有效部分是<span id="selectfiles">浏览</span>,外面包裹的部分是为了好看,做出一个按钮的形状
<div style="width: 160px; height: 18px; border: solid 1px #7FAAFF; background-color: #C5D9FF; padding: 2px;"> <span id="selectfiles">浏览</span> </div>
二、JavaScript代码
主要是这个js,其他java文件就是普通的fileupload上传,fileupload我也是刚看的,直接用的apache demo里面代码,限制文件大小什么的都还没有写
/** * DjwlSWF上传 * @author huxiao kskr@qq.com */ var swfu; var DjwlSWF = { djwl_upload_url : "/servlet/com.djwl.test.UploadServlet", djwl_size_limit : "200 KB", // 单个文件的大小限制 djwl_types : "*.jpg;*.gif;*.png;*.bmp", djwl_types_description : "文件类型", djwl_upload_limit : 0, djwlCallBackFun : "", /** * 初始化 * @param {Object} swfu * @author:huxiao kskr@qq.com */ init:function(param, fun){ if(!param.ele){ alert('DjwlSWF初始化出错'); return null; } this.djwl_types = param.fileType || this.djwl_types; this.djwl_upload_limit = param.fileCount || this.djwl_upload_limit; this.djwl_size_limit = param.fileSizeLimit || this.djwl_upload_limit; this.djwlCallBackFun = fun || this.djwlCallBackFun; swfu = new SWFUpload({ upload_url: DjwlSWF.djwl_upload_url, file_size_limit : DjwlSWF.djwl_size_limit, file_types : DjwlSWF.djwl_types, file_types_description : DjwlSWF.djwl_types_description, file_upload_limit : DjwlSWF.djwl_upload_limit, swfupload_preload_handler : DjwlHandle.preLoad, swfupload_load_failed_handler : DjwlHandle.loadFailed, file_queue_error_handler : DjwlHandle.fileQueueError, file_dialog_complete_handler : DjwlHandle.fileDialogComplete, upload_error_handler : DjwlHandle.uploadError, upload_success_handler : DjwlHandle.uploadSuccess, upload_complete_handler : DjwlHandle.uploadComplete, button_image_url : param.img || "", button_placeholder_id : param.ele.id, button_width: param.width || 66, button_height: param.height || 26, button_text : param.ele.innerHTML || "浏览", button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 12pt; } .buttonSmall { font-size: 10pt; }', button_text_top_padding: param.paddingTop || 0, button_text_left_padding: param.paddingLeft || 0, button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT, button_cursor: SWFUpload.CURSOR.HAND, // Flash Settings flash_url : "/script/swfupload/swfupload.swf", flash9_url : "/script/swfupload/swfupload_fp9.swf", // A container where developers can place their own settings associated with this instance. custom_settings : { //upload_target : "divFileProgressContainer" }, // Debug Settings debug: false }); }, djwlswfcallback:function(data){ DjwlSWF.djwlCallBackFun(data); } }; /** * DjwlHandle * @author copy of handlers.js */ var DjwlHandle = { preLoad:function() { if (!this.support.loading) { alert("You need the Flash Player 9.028 or above to use SWFUpload."); return false; } }, loadFailed:function() { alert("Something went wrong while loading SWFUpload. If this were a real application we'd clean up and then give you an alternative"); }, fileQueueError:function(file, errorCode, message) { try { var imageName = "error.gif"; var errorName = ""; if (errorCode === SWFUpload.errorCode_QUEUE_LIMIT_EXCEEDED) { errorName = "You have attempted to queue too many files."; } if (errorName !== "") { alert(errorName); return; } switch (errorCode) { case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: imageName = "zerobyte.gif"; break; case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT: imageName = "toobig.gif"; break; case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: default: alert(message); break; } //addImage("/script/swfupload/images/" + imageName); } catch (ex) { this.debug(ex); } }, fileDialogComplete:function(numFilesSelected, numFilesQueued) { try { if (numFilesQueued > 0) { this.startUpload(); } } catch (ex) { this.debug(ex); } }, uploadProgress:function(file, bytesLoaded) { try { var percent = Math.ceil((bytesLoaded / file.size) * 100); var progress = new FileProgress(file, this.customSettings.upload_target); progress.setProgress(percent); if (percent === 100) { progress.setStatus("Creating thumbnail..."); progress.toggleCancel(false, this); } else { progress.setStatus("Uploading..."); progress.toggleCancel(true, this); } } catch (ex) { this.debug(ex); } }, uploadSuccess:function(file, serverData) { try { //addImage(serverData,50,50); DjwlSWF.djwlswfcallback(serverData); } catch (ex) { this.debug(ex); } }, uploadComplete:function(file) { try { // I want the next upload to continue automatically so I'll call startUpload here if (this.getStats().files_queued > 0) { this.startUpload(); } } catch (ex) { this.debug(ex); } }, uploadError:function(file, errorCode, message) { var imageName = "error.gif"; var progress; try { switch (errorCode) { case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED: try { progress = new FileProgress(file, this.customSettings.upload_target); progress.setCancelled(); progress.setStatus("Cancelled"); progress.toggleCancel(false); } catch (ex1) { this.debug(ex1); } break; case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED: try { progress = new FileProgress(file, this.customSettings.upload_target); progress.setCancelled(); progress.setStatus("Stopped"); progress.toggleCancel(true); } catch (ex2) { this.debug(ex2); } case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED: imageName = "uploadlimit.gif"; break; default: //alert(message); break; } //addImage("/script/swfupload/images/" + imageName); } catch (ex3) { this.debug(ex3); } } /* addImage:function(src, width, height) { var newImg = document.createElement("img"); newImg.style.margin = "5px"; if(width){ newImg.width = width; } if(height){ newImg.height = height; } document.getElementById("thumbnails").appendChild(newImg); if (newImg.filters) { try { newImg.filters.item("DXImageTransform.Microsoft.Alpha").opacity = 0; } catch (e) { // If it is not set initially, the browser will throw an error. This will set it if it is not set yet. newImg.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + 0 + ')'; } } else { newImg.style.opacity = 0; } newImg.onload = function () { fadeIn(newImg, 0); }; newImg.src = src; }, fadeIn:function(element, opacity) { var reduceOpacityBy = 5; var rate = 30; // 15 fps if (opacity < 100) { opacity += reduceOpacityBy; if (opacity > 100) { opacity = 100; } if (element.filters) { try { element.filters.item("DXImageTransform.Microsoft.Alpha").opacity = opacity; } catch (e) { // If it is not set initially, the browser will throw an error. This will set it if it is not set yet. element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')'; } } else { element.style.opacity = opacity / 100; } } if (opacity < 100) { setTimeout(function () { fadeIn(element, opacity); }, rate); } } */ };
- _testswfupload.rar (624.8 KB)
- 下载次数: 2010
评论
6 楼
511093965
2013-12-09
你好,怎么下载的你的那个没有用啊?点击浏览没有反应,怎么回事呢?可以尽快回答我吗,很急
5 楼
郑智睿
2012-06-14
关键是会话信息会丢失,这是个重大问题没解决
4 楼
郑智睿
2012-06-11
里面的文件不完整
3 楼
青青雨露
2012-03-12
不能运行啊
2 楼
formorange
2011-03-22
就这里的路径问题:“/script”,去掉斜线即可。不过还有些调不通的。
1 楼
hunter123456
2010-05-19
博主,文件解压后放到tomcat相关目录下,
不能正常运行啊,请问是什么原因啊,
我的浏览器是IE8,flash版本是10
提示DjwISWF未被定义。
不能正常运行啊,请问是什么原因啊,
我的浏览器是IE8,flash版本是10
提示DjwISWF未被定义。
发表评论
-
实现for each,通过iterable接口和iterator(实例)
2011-01-11 00:58 4672java1.5提供了for each的循环方式,实现i ... -
java的几个权限修饰符,private/friendly/protected/public
2010-05-29 23:26 7955下面开始测试: 一个Test类,作为被访问的类,priv ... -
算法:输出一串字符的全排列
2010-05-26 18:09 1935package test; import java. ... -
创建可执行jar
2010-05-23 20:00 1318把我们的程序打个jar包,双击运行,一般会弹出这个提示 ... -
笔试的时候一个折半查找写错了,这样写应该对了吧
2010-05-22 11:04 1398public int find(int[] abc, i ... -
写一个CookieUtil,方便使用cookies
2010-05-12 16:54 2487以前用cookies比较少,虽然知道大致上就是那么回事,但是一 ... -
循环Map的两种方法
2010-05-08 09:57 1514public static void main(String ... -
[正则]零宽断言:同事给我出了一题
2010-04-25 15:59 1567同事给我出一题,如下: public static v ... -
Apache POI - Java操作Excel
2010-04-19 10:24 3101★、POI中很多组件并不是都能用上,根据需要选择自己需要的,我 ... -
[转]Servlet、Filter的url-pattern问题
2010-04-17 11:00 1572servlet和filter的匹配规则 ... -
做个图片的防盗链
2010-04-13 11:31 9206目的是,网站本身的图片不防盗链,用户上传的图片不许外链 用户 ... -
Spring笔记(未完)
2010-04-09 19:12 952★、要使用的jar dist/spring.jar lib/ ... -
从html里面提取文本,只保留br和p
2010-04-09 19:00 3358从网上down了很多信息,但是带了一些不需要的table,di ... -
自定义错误页,并捕获异常到数据库
2010-04-09 18:44 1879web.xml中添加这一段,处理404等状态信息,注意是err ... -
TestBase64加解密
2010-04-09 11:22 1014package test; import java. ... -
TestIO
2010-03-31 09:47 1163package com.djwl.test.studyin ... -
分页条(部分)
2010-03-31 09:41 1012/** * description: 分页:根据每 ... -
ReflectTest
2010-03-31 09:40 1010package com.djwl.test.studying; ... -
CalendarTest
2010-03-31 09:39 1010package com.djwl.test.studying; ... -
Java正则备忘(附正则表达式查询表)
2010-03-22 16:01 1220A sample: /** * descript ...
相关推荐
- 它支持多文件选择,可以一次选择多个文件进行上传,提高了用户效率。 - 通过Flash提供了文件上传进度条,用户可以清晰地看到每个文件的上传状态,提升了用户体验。 2. **FileUpload组件**: - FileUpload通常...
通过分析和学习SwfUpload多文件上传演示版源码,开发者不仅可以掌握SwfUpload的用法,还能了解到如何在实际项目中实现文件上传功能,提升Web应用的用户体验。同时,这也为其他富客户端组件的学习和应用提供了基础。
本文将深入探讨如何使用jQuery、SWFUpload和Servlet技术实现一个支持多文件上传,同时具备Ctrl和Shift键多选功能的高效解决方案。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画效果...
SWFUpload是一个JavaScript库,它提供了一种优雅的方式,允许用户通过Flash插件进行多文件上传,而无需刷新整个页面。另一方面,Apache Commons Fileupload是Java领域的一个强大的文件上传处理库,它可以方便地处理...
最近项目中要实现一个文件上传的功能...当前这个依托swfupload和ext 共同实现的文件上传,使用方便而且界面美观。希望对大家有帮助。谢谢,直接用eclipse导入发布到tomcat下运行即可.jdk1.6 大家可以到这个地址看效果 ...
SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 SWFUpload的主要特点 * 可以同时上传多个...
在这个实例中,我们将探讨如何在VS2012环境下,使用.NET Framework 4.0开发一个基于SWFUpload的多文件上传功能。 首先,让我们理解SWFUpload的工作原理。SWFUpload是基于Flash技术的,它创建了一个隐藏的Flash对象...
SwfUpload结合Java和Struts2框架,提供了一种高效、可定制的多文件上传解决方案。通过前端的SwfUpload配置和后端的Java处理,我们可以实现流畅的上传体验,同时保持对上传文件的有效控制。在实际项目中,还需要考虑...
这个"SWFUpload文件上传源码ASP"是针对ASP(Active Server Pages)开发的,旨在为ASP应用程序提供一个用户友好的多文件上传解决方案。下面将详细阐述SWFUpload的工作原理以及如何在ASP环境中集成和使用它。 1. **...
本教程将详细介绍如何利用`swfupload`和Ajax实现多文件上传、下载、删除,并将上传的文件信息存储到数据库。 首先,`swfupload`是一个开源的文件上传组件,它支持多文件选择、预览、进度条显示等功能。由于Flash在...
总的来说,SWFUpload提供了一套强大而灵活的工具,使Web开发人员能够优雅地处理大文件上传和多文件批量上传,同时还支持传递额外的参数,增加了上传过程的灵活性。通过理解并正确应用这些概念和技术,我们可以构建出...
在ASP环境中,SWFUpload 可以很好地解决传统ASP上传文件时遇到的大小限制和性能问题。 首先,我们要理解SWFUpload的工作原理。它利用了Adobe Flash技术来绕过浏览器对文件上传大小的限制,因为Flash插件允许上传更...
[上传下载]SwfUpload多文件上传演示版源码_swfuploaddemo.zip源码ASP.NET网站源码打包下载[上传下载]SwfUpload多文件上传演示版源码_swfuploaddemo.zip源码ASP.NET网站源码打包下载[上传下载]SwfUpload多文件上传...
SwfUpload 是一款开源的Flash上传组件,它允许用户在网页上实现多文件上传功能,尤其适用于需要大文件上传或批量上传的场景。这个技术在Web开发中被广泛应用,因为它可以提供比传统HTML表单上传更好的用户体验。...
综上所述,SwfUpload多文件上传与Struts1的结合使用,为Web应用提供了强大且用户友好的文件上传功能。通过理解并掌握上述知识点,开发者可以构建出高效、稳定且安全的文件上传系统。在实际项目中,还需要根据具体...
SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 SWFUpload的主要特点 * 可以同时上传多个...
本项目“Java源码的swfupload多文件上传 strut2demo”旨在演示如何在Struts2中集成swfupload插件,实现多文件上传的功能。swfupload是一个流行的JavaScript库,它允许用户在后台无刷新地上传多个文件,提高了用户...
SWFUpload是一款经典的JavaScript与Flash结合的文件上传组件,它被广泛用于实现大文件和多文件的上传功能。这个组件的独特之处在于它允许用户在不刷新页面的情况下选择和上传文件,提高了用户体验。在这个特定的场景...
总之,SWFUpload是一个强大且灵活的多文件上传解决方案,其源码可以帮助开发者深入了解文件上传机制,并根据项目需求进行定制和优化。通过熟练掌握SWFUpload,开发者可以提升Web应用的文件上传功能,提供更好的用户...