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

SWFUpload简单使用例子 Java版(JSP)

发布时间:2020-12-15 18:27:33 所属栏目:百科 来源:网络整理
导读:SWFUpload官方的例子都是PHP的,在这里提供一个Java版的最简单的使用例子,使用JSP页面完成所有操作。 ? 实现上传,分为三步: 1、JavaScript设置SWFUpload部分(与官方例子类似): ? Js代码 ? ? var ?upload;?? ?? ?window.onload?=? function ()?{?? uplo

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

?

实现上传,分为三步:

1、JavaScript设置SWFUpload部分(与官方例子类似):

?

Js代码 ?

收藏代码

  1. ?var?upload;??
  2. ??
  3. ?window.onload?=?function()?{??
  4. upload?=?new?SWFUpload({??
  5. //?处理文件上传的url??
  6. upload_url:?"${pageContext.request.contextPath}/swfupload/example.jsp?upload=1",??????
  7. //?上传文件限制设置??
  8. file_size_limit?:?"10240",??//?10MB??
  9. file_types?:?"*.jpg;*.gif;*.png",???//此处也可以修改成你想限制的类型,比如:*.doc;*.wpd;*.pdf??
  10. file_types_description?:?"Image?Files",??
  11. file_upload_limit?:?"0",248); line-height:18px"> file_queue_limit?:?"1",0); background-color:inherit">//?事件处理设置(所有的自定义处理方法都在handler.js文件里)??
  12. file_dialog_start_handler?:?fileDialogStart,??
  13. file_queued_handler?:?fileQueued,248); line-height:18px"> file_queue_error_handler?:?fileQueueError,248); line-height:18px"> file_dialog_complete_handler?:?fileDialogComplete,248); line-height:18px"> upload_start_handler?:?uploadStart,248); line-height:18px"> upload_progress_handler?:?uploadProgress,248); line-height:18px"> upload_error_handler?:?uploadError,248); line-height:18px"> upload_success_handler?:?uploadSuccess,248); line-height:18px"> upload_complete_handler?:?uploadComplete,0); background-color:inherit">//?按钮设置??
  14. button_image_url?:?"swfupload/xpbutton.png",????//?按钮图标??
  15. button_placeholder_id?:?"spanButtonPlaceholder",248); line-height:18px"> button_width:?61,248); line-height:18px"> button_height:?22,0); background-color:inherit">//?swf设置??
  16. flash_url?:?"swfupload/swfupload.swf",248); line-height:18px"> custom_settings?:?{??
  17. ????progressTarget?:?"fsUploadProgress",248); line-height:18px"> ????cancelButtonId?:?"btnCancel"??
  18. },248); line-height:18px"> ????//?Debug?设置??
  19. ????debug:?false??
  20. });??
  21. ?}??

2、页面显示部分:

Html代码 ?

收藏代码

    <div?class="flash"?id="fsUploadProgress"></div>??
  1. div?style="padding-left:?5px;" ?????span?id="spanButtonPlaceholder"spaninput?id="btnCancel"?type="button"?value="取消"?onclick="cancelQueue(upload);"???
  2. disabled="disabled"?style="margin-left:?2px;?height:?22px;?font-size:?8pt;"?/>??
  3. >??

3、Java处理文件上传部分:

Java代码 ?

收藏代码

    ?String?uploadSign?=?request.getParameter("upload");??
  1. ?String?rootPath?=?request.getParameter("rootPath");??
  2. ?String?path?=?request.getParameter("path");??
  3. ?if(rootPath?==?null)?rootPath?=?"";??
  4. ????rootPath?=?rootPath.trim();??
  5. if(rootPath.equals("")){??
  6. rootPath?=?application.getRealPath("/swfupload/files");??
  7. ?}??
  8. if(path?==?null)?{??
  9. path?=?rootPath;??
  10. ?}else{??
  11. path?=?new?String(Base64.decodeBase64(path.getBytes()));??
  12. ?//上传操作??
  13. if(null?!=?uploadSign?&&?!"".equals(uploadSign)){??
  14. ??FileItemFactory?factory?=?new?DiskFileItemFactory();??
  15. ??ServletFileUpload?upload?=?new?ServletFileUpload(factory);??
  16. ??//upload.setHeaderEncoding("UTF-8");??
  17. ??try{??
  18. ??????List?items?=?upload.parseRequest(request);??
  19. ??????null?!=?items){??
  20. ??????????Iterator?itr?=?items.iterator();??
  21. ??????????while(itr.hasNext()){??
  22. ??????????????FileItem?item?=?(FileItem)itr.next();??
  23. ??????????????if(item.isFormField()){??
  24. ??????????????????continue;??
  25. ??????????????} ????????????????????????????????????????//以当前精确到秒的日期为上传的文件的文件名??
  26. ??????????????????SimpleDateFormat?sdf=new?SimpleDateFormat("yyyyMMddkkmmss");??
  27. ??????????????????String?type?=?item.getName().split(".")[1];//获取文件类型??
  28. ??????????????????File?savedFile?=?new?File(path,sdf.format(new?Date())+"."+type);??
  29. ??????????????????item.write(savedFile);??
  30. ??????????????}??
  31. ??????????}??
  32. ??????}??
  33. ??}catch(Exception?e){??
  34. ??????e.printStackTrace();??
  35. ??}??
  36. ?}??

(编辑:李大同)

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

    推荐文章
      热点阅读