- 浏览: 194148 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
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 4700java1.5提供了for each的循环方式,实现i ... -
java的几个权限修饰符,private/friendly/protected/public
2010-05-29 23:26 7978下面开始测试: 一个Test类,作为被访问的类,priv ... -
算法:输出一串字符的全排列
2010-05-26 18:09 1959package test; import java. ... -
创建可执行jar
2010-05-23 20:00 1342把我们的程序打个jar包,双击运行,一般会弹出这个提示 ... -
笔试的时候一个折半查找写错了,这样写应该对了吧
2010-05-22 11:04 1420public int find(int[] abc, i ... -
写一个CookieUtil,方便使用cookies
2010-05-12 16:54 2505以前用cookies比较少,虽然知道大致上就是那么回事,但是一 ... -
循环Map的两种方法
2010-05-08 09:57 1548public static void main(String ... -
[正则]零宽断言:同事给我出了一题
2010-04-25 15:59 1580同事给我出一题,如下: public static v ... -
Apache POI - Java操作Excel
2010-04-19 10:24 3115★、POI中很多组件并不是都能用上,根据需要选择自己需要的,我 ... -
[转]Servlet、Filter的url-pattern问题
2010-04-17 11:00 1585servlet和filter的匹配规则 ... -
做个图片的防盗链
2010-04-13 11:31 9240目的是,网站本身的图片不防盗链,用户上传的图片不许外链 用户 ... -
Spring笔记(未完)
2010-04-09 19:12 975★、要使用的jar dist/spring.jar lib/ ... -
从html里面提取文本,只保留br和p
2010-04-09 19:00 3378从网上down了很多信息,但是带了一些不需要的table,di ... -
自定义错误页,并捕获异常到数据库
2010-04-09 18:44 1904web.xml中添加这一段,处理404等状态信息,注意是err ... -
TestBase64加解密
2010-04-09 11:22 1030package test; import java. ... -
TestIO
2010-03-31 09:47 1179package com.djwl.test.studyin ... -
分页条(部分)
2010-03-31 09:41 1032/** * description: 分页:根据每 ... -
ReflectTest
2010-03-31 09:40 1034package com.djwl.test.studying; ... -
CalendarTest
2010-03-31 09:39 1028package com.djwl.test.studying; ... -
Java正则备忘(附正则表达式查询表)
2010-03-22 16:01 1238A sample: /** * descript ...
相关推荐
在本教程中,我们将深入探讨如何使用SwfUpload与`org.apache.commons.fileupload`库来实现文件上传功能。 Apache Commons FileUpload 是一个Java库,专门用于处理HTTP请求中的多部分数据,也就是通常用于文件上传的...
总之,结合jQuery、SWFUpload和Apache Commons FileUpload,我们可以创建一个功能完备且用户体验良好的文件上传系统,包括多文件选择、进度反馈以及安全的服务器端处理。这个过程涉及到前端和后端的协作,需要对...
SwfUpload的特点包括多文件选择、文件预览、进度条显示、上传取消等功能,这些特性对于处理大文件或大量文件上传尤其有用。 要将Struts与SwfUpload整合,我们需要做以下几步: 1. **集成SwfUpload**:首先在项目中...
2. **插件集成**:寻找支持 ewebeditor 的第三方上传插件,如 SWFUpload 或者 Plupload,这些插件通常提供多文件选择、进度显示等功能。 3. **服务器端处理**:在 ASP.NET 后端编写代码,处理 ewebeditor 提交的...