加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SWFupload+servlet 实现多图片上传

发布时间:2020-12-15 17:31:28 所属栏目:百科 来源:网络整理
导读:原文地址: SWFupload+servlet 实现多图片上传 博客分类: ? SWFupload SWFupload servlet 多图片上传 进度条 鼠标拖动层? 目标? 1.使用 swfuplaod3.5+servlet 实现多图片上传? 效果图:? 注:? 1.? 里面有遮罩层? 2.? 谈出的层可以拖动? 3.? 加入了进度条? 4.

原文地址:

SWFupload+servlet 实现多图片上传

    博客分类:?
  • SWFupload
SWFupload servlet 多图片上传 进度条 鼠标拖动层?
目标?
1.使用 swfuplaod3.5+servlet 实现多图片上传?

效果图:?
注:?
1.? 里面有遮罩层?
2.? 谈出的层可以拖动?
3.? 加入了进度条?
4.? 里面采用jquery 注意引用js?
5.? google. firefox ie 测试通过?
6.? 在"允许用户同时上传 20 张图片,单张图片容量不超过1 MB" 上面有个 错误信息层(用于显示上传结果,加载swfupload失败 等详情分析handlers.js)?
7.? 处理 swfupload 兼容 ie9 上传按钮不出来 问题 ;?
8.? 红色框:功能主要是在KindEditor中使用(handlers.js 中给注释了)?

?

目录:?

?

需要的jar?
commons-fileupload-1.2.jar?
commons-io-1.3.2.jar?

index.jsp?
Html代码??

收藏代码

  1. <%@?page?language="java"?pageEncoding="UTF-8"%>??
  2. <%@?page?isELIgnored="false"?%>???
  3. <%??
  4. ????String?path?=?request.getContextPath();??
  5. ????String?basePath?=?request.getScheme()?+?"://"??
  6. ????????????+?request.getServerName()?+?":"?+?request.getServerPort()??
  7. ????????????+?path?+?"/";??
  8. % <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"<htmlheadbase?href="<%=basePath%>"title>文件上传工具V2.1</ ??
  9. link?href="${pageContext.request.contextPath}/css/default.css"?rel="stylesheet"type="text/css"?/>??
  10. script?type="text/javascript"?src="${pageContext.request.contextPath}/js/jquery-latest.js">scriptscript?type="text/javascript"?src="${pageContext.request.contextPath}/js/swfupload.js"script?type="text/javascript"?src="${pageContext.request.contextPath}/js/handlers.js"script?type="text/javascript" ????var?contextPath="${pageContext.request.contextPath}";??
  11. ????function?startLoad(){??
  12. ????????var?url=contextPath+"/servlet/FileUploadServlet.htm?jsessionId=${pageContext.session.id}";?//处理上传的servlet??
  13. ????????var?sizeLimit="1?MB";//?文件的大小??注意:?中间要有空格??
  14. ????????var?types="*.jpg;*.jpeg;*.gif";?//注意是?"?;?"?分割???
  15. ????????var?typesdesc="web?iamge?file";?//这里可以自定义??
  16. ????????var?uploadLimit=20;??//上传文件的?个数??
  17. ????????initSwfupload(url,sizeLimit,types,typesdesc,uploadLimit);??
  18. ????}??
  19. bodycenterinput?type="button"?onclick="startLoad()"?value="批量图片上传"/>>??

handlers.js?
Java代码??

收藏代码

    var?swfu;??
  1. var?insertAllStatus=true;?//全部插入按钮的状态??
  2. //初始化?swf??
  3. function?initSwfupload(url,typsdesc,uploadLimit){??
  4. ????????//初始化界面??
  5. ????????init(uploadLimit,sizeLimit);??
  6. //初始化?swfupload??
  7. ????????var?settings={??
  8. ????????????//?Flash?Settings?flash9_url?:"http://192.168.1.115:8080/bjsearch/js/plugins/multiimage/js/swfupload_fp9.swf",??
  9. ????????????flash_url?:?contextPath+"/js/swfupload.swf",??
  10. ????????????file_post_name:"filedata",250)"> ??????????????
  11. ????????????upload_url:?url,//?contextPath+"/servlet/FileUploadServlet.htm?jsessionId=${pageContext.session.id}",250)"> ????????????post_params:?{"name"?:?"test"},0); padding:0px; margin:0px; width:auto; border:0px">//?File?Upload?Settings??
  12. ????????????file_size_limit?:?sizeLimit,????//?1000MB??
  13. ????????????file_types?:?types,0); padding:0px; margin:0px; width:auto; border:0px">//*.*??
  14. ????????????file_types_description?:?typsdesc,0); padding:0px; margin:0px; width:auto; border:0px">//"Web?Image?Files",250)"> ????????????file_upload_limit?:?uploadLimit,0); padding:0px; margin:0px; width:auto; border:0px">//20??
  15. ????????????file_queue_limit?:?0,250)"> ????????????file_queue_error_handler?:?fileQueueError,250)"> ????????????file_dialog_complete_handler?:?fileDialogComplete,0); padding:0px; margin:0px; width:auto; border:0px">//选择好文件后提交??
  16. ????????????file_queued_handler?:?fileQueued,250)"> ????????????swfupload_load_failed_handler?:?swfUploadLoadFailed,?//swf?加载失败??
  17. ????????????swfupload_loaded_handler?:?swfUploadLoaded,??//swf?加载完成??
  18. ????????????upload_start_handler:?uploadStart,250)"> ????????????upload_progress_handler?:?uploadProgress,250)"> ????????????upload_error_handler?:?uploadError,250)"> ????????????upload_success_handler?:?uploadSuccess,250)"> ????????????upload_complete_handler?:?uploadComplete,0); padding:0px; margin:0px; width:auto; border:0px">//?Button?Settings??
  19. ????????????button_image_url?:?contextPath+"/images/select-files-zh_CN.png",250)"> ????????????button_placeholder_id?:?"buttonPlaceholder",250)"> ????????????button_width:?72,250)"> ????????????button_height:?23,250)"> ????????????button_text?:?'<span?style="display:block;"></span>',250)"> ????????????custom_settings?:?{??
  20. ????????????????photoContainer_Id???:?"photoContainer",?????//图片的容器id??
  21. ????????????????btnUpload_ID????????:?"btnUpload",??????????//上传按钮??
  22. ????????????????insertAll_Id????????:?"insertAll",0); padding:0px; margin:0px; width:auto; border:0px">//全部插入??
  23. ????????????????clearAll_Id?????????:?"clearAll",???????????//全部清空??
  24. ????????????????errorMsg_Id?????????:?"errorMsg",0); padding:0px; margin:0px; width:auto; border:0px">//错误信息??
  25. ????????????????errorMsg_fadeOutTime:?2000??????????????????//错误信息谈出的时间??
  26. ????????????},0); padding:0px; margin:0px; width:auto; border:0px">//?Debug?Settings??
  27. ????????????debug:?false,???//是否显示调试窗口??
  28. ????????????auto_upload:false??
  29. ????????};??
  30. ????try{??
  31. //等?1秒后初始化?swf??
  32. ????????setTimeout(function?(){swfu?=?new?SWFUpload(settings);},1000);??
  33. ????}catch?(ex)?{??
  34. ????????var?message='<div?id="divAlternateContent"?style="background-color:?#FFFF66;?text-align:center;">'??
  35. ????????????+'<font?color="red">工具加载失败,请刷新再试!</div>';??
  36. ????????addErrorMsg(message,false);??
  37. ????????this.debug(ex);??
  38. ??????
  39. }??
  40. //初始化?界面??
  41. function?init(uploadLimit,sizeLimit){??
  42. if($(".ke-dialog-upload").length>0){??
  43. ????????$(".ke-dialog-upload").remove();??
  44. ????var?uploadbody='<div?id="uploadBody"?class="ke-dialog-upload">'??
  45. ????????+'<div?id="uploadHead"?class="ke-dialog-upload-head">'??
  46. ????????+'??<div?style="float:?left">批量图片上传</div><div?id="iconClose"?class="ke-dialog-icon-close"?title="关闭"></div><div?style="clear:?both"></div>'??
  47. ????????+'??</div>'??
  48. ????????+'??<!--content-->'??
  49. ????????+'??<div?class="ke-dialog-content">'??
  50. ????????+'??????<div?class="ke-dialog-content-head">'??
  51. ????????+'????????<div?id="errorMsg"?class="ke-dialog-content-error"></div>'??
  52. ????????+'????????<div?id="swfbuttonParent"?class="ke-swfupload-button"><span?id="buttonPlaceholder"?/></div>'??
  53. ????????+'????????<div?class="ke-inline-block?ke-swfupload-desc">允许用户同时上传?<font?color="red">'+uploadLimit+'</font>?张图片,单张图片容量不超过<font?color="red">'+sizeLimit+'</font></div>'??
  54. ????????+'??????????<div?class="ke-button-common?ke-button-outer?ke-swfupload-startupload"><input?id="btnUpload"?type="button"?class="ke-button-common?ke-button"?value="开始上传"></div>'??
  55. ????????+'??????????<div?style="clear:?both;"></div>'?????????
  56. ????????+'??????</div>'??
  57. ????????+'??????<div?id="photoContainer"?class="ke-swfupload-body">'??
  58. ????????+'??<!--bottom-->'??
  59. ????????+'??<div?class="ke-dialog-footer">'??
  60. ????????+'??<span?class="ke-button-common?ke-button-outer"?title="全部插入"><input?id="insertAll"?class="ke-button-common?ke-button"?type="button"?value="全部插入"></span>'??
  61. ????????+'??<span?class="ke-button-common?ke-button-outer"?title="全部清空"><input?id="clearAll"?class="ke-button-common?ke-button"?type="button"?value="全部清空"></span>'??
  62. ????????+'??<span?class="ke-button-common?ke-button-outer"?title="取消"><input?id="btncancel"?class="ke-button-common?ke-button"?type="button"?value="取消"></span></div>'??
  63. ????????+'??</div>?'??
  64. ????????+'<div?style="display:?block;?width:?1903px;?height:?12702px;?position:?absolute;?left:?0px;?top:?0px;?z-index:?811212;"?class="ke-dialog-mask"></div>';??
  65. ????$('body').append(uploadbody);??
  66. ????$("#iconClose").bind("click",{uploadBodyId:'uploadBody'},iconClose);??
  67. ????$("#btncancel").bind("click",250)"> ???
  68. //处理?鼠标拖动层??
  69. ????var?dragging?=?false;??
  70. ????var?iX,?iY;??
  71. ????$("#uploadHead").mousedown(function(e)?{??
  72. ????????dragging?=?true;??
  73. ????????iX?=?e.clientX?-?this.offsetParent.offsetLeft;??
  74. ????????iY?=?e.clientY?-?this.offsetParent.offsetTop;??
  75. return? ????});??
  76. ????document.onmousemove?=?function(e)?{??
  77. if?(dragging)?{??
  78. ????????????var?e?=?e?||?window.event;??
  79. ????????????var?oX?=?e.clientX?-?iX;??
  80. ????????????var?oY?=?e.clientY?-?iY;??
  81. ????????????$("#uploadBody").css({"left":oX<0?0:oX?+?"px",?"top":oY<0:oY?+?"px"});??
  82. ???????????? ????????}??
  83. ????};??
  84. ????$(document).mouseup(function(e)?{??
  85. ????????e.cancelBubble?=? /**??
  86. ?*?当文件选择对话框关闭消失时,如果选择的文件成功加入上传队列,??
  87. ?*?那么针对每个成功加入的文件都会触发一次该事件(N个文件成功加入队列,就触发N次此事件)。??
  88. ?*?@param?{}?file??
  89. ?*?id?:?string,?????????????//?SWFUpload控制的文件的id,通过指定该id可启动此文件的上传、退出上传等??
  90. ?*?index?:?number,0); padding:0px; margin:0px; width:auto; border:0px">//?文件在选定文件队列(包括出错、退出、排队的文件)中的索引,getFile可使用此索引??
  91. ?*?name?:?string,0); padding:0px; margin:0px; width:auto; border:0px">//?文件名,不包括文件的路径。??
  92. ?*?size?:?number,0); padding:0px; margin:0px; width:auto; border:0px">//?文件字节数??
  93. ?*?type?:?string,0); padding:0px; margin:0px; width:auto; border:0px">//?客户端操作系统设置的文件类型??
  94. ?*?creationdate?:?Date,0); padding:0px; margin:0px; width:auto; border:0px">//?文件的创建时间??
  95. ?*?modificationdate?:?Date,0); padding:0px; margin:0px; width:auto; border:0px">//?文件的最后修改时间??
  96. ?*?filestatus?:?number??????//?文件的当前状态,对应的状态代码可查看SWFUpload.FILE_STATUS???
  97. ?*/??
  98. //?关闭?/取消?按钮?事件??
  99. function?iconClose(event){??
  100. if(typeof?swfu?!=?'undefined'?||?swfu!=null){??
  101. ????????swfu.destroy();??
  102. ????$("#"+event.data.uploadBodyId).remove();??
  103. ????$(".ke-dialog-mask").remove();??
  104. ????insertAllStatus= function?clearUpload(){??
  105. ????$("div[id^='SWFUpload_']").each(function(i,obj){??
  106. ????????deleteFile($(obj).attr('id'));??
  107. //?全部插入??
  108. function?insertAllevent(){??
  109. ????//alert(swfu.getStats().successful_uploads);//successful_uploads??
  110. ????$("img[data-status='0']").each(function(i,250)"> ????????????var?showimg?=?new?Image();??
  111. ????????????showimg.src=$(obj).attr("src");??
  112. ????????????var?width?=?showimg.width;??
  113. ????????????var?height?=?showimg.height;??
  114. ????????????var?title=$(obj).attr("title");??
  115. ????????????var?url=$(obj).attr("src");??
  116. //KE.plugin['multiimage'].insert("ArticleBody",url,?title,width,height,"0","");??
  117. ????$("#iconClose").trigger("click");??
  118. //?添加错误信息??
  119. function?addErrorMsg(message,isFadeOut){??
  120. ????$("#"+swfu.customSettings.errorMsg_Id).empty().html(message);??
  121. if(isFadeOut){??
  122. ????????setTimeout(function?()?{??
  123. ????????????$("#"+swfu.customSettings.errorMsg_Id).children().fadeOut( ????????},parseInt(swfu.customSettings.errorMsg_fadeOutTime));??
  124. //鼠标?移入?移出的?背景效果??
  125. function?photoMouSEOver(){??
  126. ????$(this).addClass("ke-on");??
  127. function?photoMouSEOut(obj){??
  128. this).removeClass("ke-on");??
  129. //swf?准备加载??为使用??
  130. function?swfUploadPreLoad()?{??
  131. ????var?self?=?this;??
  132. ????var?loading?=?function?()?{??
  133. ????????var?longLoad?=?function?()?{??
  134. ????????????document.getElementById("divLoadingContent").style.display?=?"none";??
  135. ????????????document.getElementById("divLongLoading").style.display?=?"";??
  136. this.customSettings.loadingTimeout?=?setTimeout(function?()?{??
  137. ????????????????longLoad.call(self)??
  138. ????????????15?*?1000??
  139. ????????);??
  140. ????????????loading.call(self);??
  141. ????????1* ????);??
  142. function?swfUploadLoadFailed()?{??
  143. //clearTimeout(this.customSettings.loadingTimeout);??
  144. ????var?message='<div?id="divAlternateContent"?style="background-color:?#FFFF66;?text-align:center;">'??
  145. ????????????+'[url=http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash]<font?color="red">请安装或者升级您的Flash插件!</font>[/url]</div>';??
  146. ????addErrorMsg(message,0); padding:0px; margin:0px; width:auto; border:0px">//swf?加载?完成??
  147. function?swfUploadLoaded()?{??
  148. //var?self?=?this;??
  149. ????addErrorMsg("",250)"> ????$("#"+this.customSettings.btnUpload_ID).click(function?(){swfu.startUpload()});??
  150. ?//每次被加入?到列队中??
  151. function?fileQueued(file){??
  152. ????addReadyFileInfo(file.id,file.name,"等待上传");??
  153. //文件对话框选择完成??
  154. function?fileDialogComplete(numFilesSelected,?numFilesQueued)?{??
  155. try?{??
  156. if?(numFilesQueued?>?0)?{??
  157. ????????????$("#"+this.customSettings.clearAll_Id).bind("click",clearUpload);??
  158. if(this.settings.auto_upload){//是否要上传??
  159. this.startUpload();??
  160. ????}?//都加入列队中?的错误信息??
  161. function?fileQueueError(file,?errorCode,?message)?{??
  162. switch?(errorCode)?{??
  163. case?SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:??
  164. ????????????message?=?"<font?color='red'>数量超过"+swfu.getSetting('file_upload_limit')+"张啦!</font>";??
  165. break;??
  166. case?SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:??
  167. ????????????message?=??"<font?color='red'>文件超过"+swfu.getSetting('file_size_limit')+"啦!</font>";??
  168. case?SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:??
  169. ????????????message?=?"<font?color='red'>文件不能为空哦!";??
  170. case?SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:??
  171. ????????????message?=?"<font?color='red'>文件格式只能为"+swfu.getSetting('fileTypes')+"!</font>";??
  172. default:??
  173. ????????????message="<font?color='red'>选择文件发生错误!"+"</font>";??
  174. return;??
  175. true);??
  176. //addReadyFileInfo(file.id,"上传错误")+"</font>";??
  177. //?开始上传???
  178. function?uploadStart(file){??
  179. ????$("#"+file.id).find(".ke-progressbar").css("display","block");??
  180. ????$("#"+file.id).find(".ke-message").css("display","none");?????????
  181. //?上传的进度??
  182. function?uploadProgress(file,?bytesLoaded)?{??
  183. ????????var?percent?=?Math.ceil((bytesLoaded?/?file.size)?*?100);??
  184. ??????????
  185. if(percent>100){??
  186. ????????????percent=100;??
  187. ????????var?progress?=?new?FileProgress(file);??
  188. ????????progress.setProgress(percent);??
  189. if?(percent?===?100)?{??
  190. //progress.setStatus("建缩略图...");//正在创建缩略图...??
  191. //progress.toggleCancel(false,?this);??
  192. ????????}else?{??
  193. ????????????progress.setStatus("正在上传...");??
  194. ????????????progress.toggleCancel(true,?this);??
  195. //?上传到服务器后?的放回信息??
  196. function?uploadSuccess(file,?serverData)?{??
  197. ????????var?data?=?eval("("?+?serverData?+?")");??
  198. ????????$("#"+file.id).find(".ke-img").attr("data-status",data.status);??
  199. if?(data.status?==?0?||?data.status?==?"0")?{??
  200. ????????????$("#"+file.id).find(".ke-img").attr("src",contextPath+data.message);??
  201. ????????????progress.setStatus("上传成功");??
  202. ????????????progress.toggleCancel();??
  203. if(insertAllStatus){??
  204. ????????????????if(swfu.getStats().successful_uploads> ????????????????????$("#"+swfu.customSettings.insertAll_Id).bind("click",insertAllevent);??
  205. ????????????????}??
  206. ????????????????insertAllStatus= ????????????}??
  207. else?if(data.status?==?1?||?data.status?==?"1"){??
  208. ????????????progress.setStatus("上传失败");??
  209. 2?||?data.status?==?"2"){??
  210. ????????????progress.setStatus("格式不对");??
  211. 3?||?data.status?==?"3"){??
  212. ????????????progress.setStatus("文件超大");??
  213. 4?||?data.status?==?"4"){??
  214. ????????????progress.setStatus("文件为空");??
  215. 5?||?data.status?==?"6"){??
  216. ????????????progress.setStatus("路径不对");??
  217. else{??
  218. ????????progress.toggleCancel(//?选择文件后?添加到?操作层中??
  219. function?addReadyFileInfo(fileid,fileName,message){??
  220. ????var?photoDiv='<div?class="ke-inline-block?ke-item"?id="'+fileid+'">'??
  221. ????????????+'<div?class="ke-inline-block?ke-photo"?style="height:80px;?width:80px;">'??
  222. ????????????+'??[img]'+contextPath+'/images/image.png"?class="ke-img"?data-status="-1"?width="80"?height="80[/img]'??
  223. ????????????+'??????<span?class="ke-delete"></span>'??
  224. ????????????+'??????????<div?class="ke-status">'??
  225. ????????????+'??????????????<div?class="ke-progressbar"?style="display:?none;">'??
  226. ????????????+'???????????????????<div?class="ke-progressbar-bar">'??
  227. ????????????+'??????????????????????<div?class="ke-progressbar-bar-inner"></div>'??
  228. ????????????+'???????????????????</div>'??
  229. ????????????+'??????????????????<div?class="ke-progressbar-percent">0%</div>'??
  230. ????????????+'???????????????</div>'??
  231. ????????????+'??????????????<div?class="ke-message">'+message+'</div>'??
  232. ????????????+'??????????</div>'??
  233. ????????????+'??????</div>'??
  234. ????????????+'??<div?class="ke-name"?alt="'+fileName+'">'+fileName+'</div>'??
  235. ????????????+'</div>';??
  236. ????$("#"+swfu.customSettings.photoContainer_Id).append(photoDiv);??
  237. ????$("#"+fileid).find(".ke-photo").bind("mouSEOver",photoMouSEOver).bind("mouSEOut",photoMouSEOut);??
  238. ????$("#"+fileid).find(".ke-delete").bind("click",function(){deleteFile(fileid)});??
  239. //?删除?单个文件???
  240. function?deleteFile(fileId){??
  241. ????$("#"+fileId).remove();??
  242. ????swfu.cancelUpload(fileId,0); padding:0px; margin:0px; width:auto; border:0px">//?单个?文件上传完????
  243. function?uploadComplete(file)?{???
  244. /*??I?want?the?next?upload?to?continue?automatically?so?I'll?call?startUpload?here?*/??
  245. if?(this.getStats().files_queued?>?//上传的错误??
  246. function?uploadError(file,250)"> ????var?message?=??"<font?color='red'>文件上传出错!</font>";??
  247. ????var?progress?=? ????var?flag=case?SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:??
  248. ????????????????progress.setStatus("取消上传");??
  249. ????????????????progress.toggleCancel(case?SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:??
  250. ????????????????progress.setStatus("停止上传");??
  251. case?SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:??
  252. ????????????????progress.setStatus("文件超大");??
  253. ????????????addErrorMsg(message,0); padding:0px; margin:0px; width:auto; border:0px">//addFileInfo(file.id,imageName);??
  254. catch?(ex3)?{??
  255. this.debug(ex3);??
  256. //?根据?src?添加?图片??
  257. function?addImage(src)?{??
  258. ????var?newImg?=?document.createElement("img");??
  259. ????newImg.style.margin?=?"5px";??
  260. //document.getElementById("thumbnails").appendChild(newImg);??
  261. if?(newImg.filters)?{??
  262. ????????????newImg.filters.item("DXImageTransform.Microsoft.Alpha").opacity?=?0;??
  263. ????????}?catch?(e)?{??
  264. //?If?it?is?not?set?initially,?the?browser?will?throw?an?error.??This?will?set?it?if?it?is?not?set?yet.??
  265. ????????????newImg.style.filter?=?'progid:DXImageTransform.Microsoft.Alpha(opacity='?+?0?+?')';??
  266. ????????newImg.style.opacity?=? ????newImg.onload?=?function?()?{??
  267. ????????fadeIn(newImg,?0);??
  268. ????newImg.src?=?src;??
  269. function?fadeIn(element,?opacity)?{??
  270. ????var?reduceOpacityBy?=?5;??
  271. ????var?rate?=?30;??//?15?fps??
  272. if?(opacity?<? ????????opacity?+=?reduceOpacityBy;??
  273. if?(opacity?>? ????????????opacity?=?if?(element.filters)?{??
  274. ????????????????element.filters.item("DXImageTransform.Microsoft.Alpha").opacity?=?opacity;??
  275. ????????????}? ???????????????? ????????????????element.style.filter?=?'progid:DXImageTransform.Microsoft.Alpha(opacity='?+?opacity?+?')';??
  276. ????????????element.style.opacity?=?opacity?/? ????????????fadeIn(element,?opacity);??
  277. /*?******************************************?
  278. ?*??This?event?comes?from?the?Queue?Plugin?
  279. ?*?******************************************?*/??
  280. function?queueComplete(numFilesUploaded)?{??
  281. ?????//this.getStats().successful_uploads;??
  282. ?*??FileProgress?Object?
  283. ?*??Control?object?for?displaying?file?info?
  284. function?FileProgress(file)?{??
  285. ????var?fileID?=?file.id;??
  286. this.fileProgressWrapper?=?$("#"+file.id).find(".ke-status");?//document.getElementById(this.fileProgressID);??
  287. if?(!this.fileProgressWrapper)?{??
  288. ????????fadeIn(this.fileProgressWrapper,250)"> FileProgress.prototype.setProgress?=?function?(percentage)?{??
  289. this.fileProgressWrapper).find(".ke-progressbar-bar-inner").css("width",percentage?+?"%");??
  290. this.fileProgressWrapper).find(".ke-progressbar-percent").text(percentage?+?"%");??
  291. };??
  292. FileProgress.prototype.setComplete?=?function?()?{??
  293. "");??
  294. FileProgress.prototype.setCancelled?=?function?()?{??
  295. FileProgress.prototype.setStatus?=?function?(status)?{??
  296. this.fileProgressWrapper).find(".ke-message").text(status);??
  297. FileProgress.prototype.toggleCancel?=?function?(show)?{??
  298. if(typeof?show?=='undefined'){??
  299. ????????$(this.fileProgressWrapper).find(".ke-progressbar").css("display",?"none");??
  300. this.fileProgressWrapper).find(".ke-message").css("display","none";)??
  301. "block"?:?"none");??
  302. "none"?:?"block");??
  303. };??


//处理 ie 9 的兼容性 找到这个方法 修改下就可以了?
swfuplaod.js?
//?Private:?getFlashHTML?generates?the?object?tag?needed?to?embed?the?flash?in?to?the?document??
  • SWFUpload.prototype.getFlashHTML?=?function?()?{??
  • //?Flash?Satay?object?syntax:?http://www.alistapart.com/articles/flashsatay??
  • ????var?classid?=?'';??
  • if?(KindEditor.IE?&&?KindEditor.V?>?8)?{??
  • ????????classid?=?'?classid?=?"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';??
  • return?['<object?id="',85); font-weight:bold">this.movieName,?'"'?+?classid?+?'?type="application/x-shockwave-flash"?data="',85); font-weight:bold">this.settings.flash_url,?'"?width="',85); font-weight:bold">this.settings.button_width,?'"?height="',85); font-weight:bold">this.settings.button_height,?'"?class="swfupload">',250)"> ????????????????'<param?name="wmode"?value="',85); font-weight:bold">this.settings.button_window_mode,?'"?/>',250)"> ????????????????'<param?name="movie"?value="',250)"> ????????????????'<param?name="quality"?value="high"?/>',250)"> ????????????????'<param?name="menu"?value="false"?/>',250)"> ????????????????'<param?name="allowScriptAccess"?value="always"?/>',250)"> ????????????????'<param?name="flashvars"?value="'?+?this.getFlashVars()?+?'"?/>',250)"> ????????????????'</object>'].join("");??
  • };??


  • //简单的处理 文件上传?
    FileUploadServlet.java?
    package?com.sh.common;??
  • import?java.io.File;??
  • import?java.io.IOException;??
  • import?java.io.PrintWriter;??
  • import?java.text.SimpleDateFormat;??
  • import?java.util.Iterator;??
  • import?java.util.List;??
  • import?java.util.UUID;??
  • 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.FileItemFactory;??
  • import?org.apache.commons.fileupload.disk.DiskFileItemFactory;??
  • import?org.apache.commons.fileupload.servlet.ServletFileUpload;??
  • import?com.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;??
  • import?com.sun.org.apache.xml.internal.security.utils.Base64;??
  • public?class?FileUploadServlet?extends?HttpServlet?{??
  • private?static?final?int?UPLOAD_SUCCSSS=0;????//?"上传文件成功!",???
  • int?UPLOAD_FAILURE=1;????//?"上传文件失败!"),85); font-weight:bold">int?UPLOAD_TYPE_ERROR=2;?//?"上传文件类型错误!"),85); font-weight:bold">int?UPLOAD_OVERSIZE=3;???//?"上传文件过大!"),85); font-weight:bold">int?UPLOAD_ZEROSIZE=4;???//?"上传文件为空!"),85); font-weight:bold">int?UPLOAD_NOTFOUND=5;???//?"上传文件路径错误!")??
  • void?doGet(HttpServletRequest?request,?HttpServletResponse?response)??
  • throws?ServletException,?IOException?{??
  • ????????doPost(request,response);??
  • void?doPost(HttpServletRequest?request,250)"> ????????response.setContentType("text/html;?charset=UTF-8");??
  • ????????PrintWriter?out=response.getWriter();??
  • ?????????String?rootPath?=?request.getParameter("rootPath");????
  • ?????????String?param?=?request.getParameter("param");??
  • ???????????
  • ?????????if(rootPath?==?null)?rootPath?=?"";????
  • ????????????rootPath?=?rootPath.trim();????
  • if(rootPath.equals("")){????
  • ?????????????rootPath?=?this.getServletContext().getRealPath("");????
  • ?????????}????
  • ?????????//上传操作????
  • ??????????FileItemFactory?factory?=?new?DiskFileItemFactory();????
  • ??????????ServletFileUpload?upload?=?new?ServletFileUpload(factory);????
  • ??????????upload.setHeaderEncoding("UTF-8");????
  • ??????????try{????
  • ??????????????List?items?=?upload.parseRequest(request);????
  • ??????????????null?!=?items){????
  • ??????????????????Iterator?itr?=?items.iterator();????
  • ??????????????????while(itr.hasNext()){????
  • ??????????????????????FileItem?item?=?(FileItem)itr.next();??
  • ??????????????????????if(item.isFormField()){????
  • ?????????????????????????continue;????
  • ??????????????????????}else{????
  • ???????????????????????????//以当前精确到秒的日期为上传的文件的文件名????
  • ??????????????????????????SimpleDateFormat?sdf=new?SimpleDateFormat("yyyyMMddkkmmss");???
  • ??????????????????????????String?path="/files";??
  • ??????????????????????????File?savedFile?=?new?File(rootPath+path,item.getName());????
  • ??????????????????????????item.write(savedFile);???
  • ????????????????????????????
  • ??????????????????????????out.print("{status:"+this.UPLOAD_SUCCSSS+",message:'"+path+"/"+item.getName()+"'}");??
  • ??????????????????????}????
  • ??????????????????}????
  • ??????????????}????
  • ??????????}catch(Exception?e){????
  • ??????????????e.printStackTrace();????
  • ??????????}??
  • /**??
  • ?????*?new文件名=?时间?+?全球唯一编号??
  • ?????*?@param?fileName?old文件名??
  • ?????*?@return?new文件名??
  • ?????*/????
  • private?String?generateFileName(String?fileName)?{????
  • ????????String?uuid=UUID.randomUUID().toString();????
  • int?position?=?fileName.lastIndexOf(".");???????
  • ????????String?extension?=?fileName.substring(position);???????
  • return?uuid?+?extension;???????
  • ????}????
  • } ?
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读