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

Flex、java实现文件上传

发布时间:2020-12-15 04:44:43 所属栏目:百科 来源:网络整理
导读:FileUpload.java: [java] ? view plain copy print ? import ?java.io.File;?? import ?java.io.IOException;?? import ?java.io.PrintWriter;?? import ?java.util.Iterator;?? import ?java.util.List;?? import ?javax.servlet.ServletException;?? impor

FileUpload.java:

[java]? view plain copy print ?
  1. import?java.io.File;??
  2. import?java.io.IOException;??
  3. import?java.io.PrintWriter;??
  4. import?java.util.Iterator;??
  5. import?java.util.List;??
  6. import?javax.servlet.ServletException;??
  7. import?javax.servlet.http.HttpServlet;??
  8. import?javax.servlet.http.HttpServletRequest;??
  9. import?javax.servlet.http.HttpServletResponse;??
  10. import?org.apache.commons.fileupload.FileItem;??
  11. import?org.apache.commons.fileupload.FileUploadException;??
  12. import?org.apache.commons.fileupload.disk.DiskFileItemFactory;??
  13. import?org.apache.commons.fileupload.servlet.ServletFileUpload;??
  14. @SuppressWarnings("serial")??
  15. public?class?FileUpload?extends?HttpServlet???
  16. {??
  17. ????//定义文件上传的路径??
  18. ????private?String?uploadPath?=?"d://a//";??
  19. ??????
  20. private?int?maxPostSize?=?100*1024*1024;??
  21. ????public?FileUpload()???
  22. ????{??
  23. ????????super();??
  24. ????}??
  25. void?destroy()???
  26. super.destroy();???
  27. ????@SuppressWarnings("unchecked")??
  28. protected?void?processRequest(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,IOException??
  29. ????????System.out.println("Access!");??
  30. ????????response.setContentType("text/html;charset=UTF-8");??
  31. ????????PrintWriter?out?=?response.getWriter();??
  32. ????????out.print("已连接上!");??
  33. ??????????
  34. ????????//保存文件到服务器中??
  35. ????????DiskFileItemFactory?factory?=?new?DiskFileItemFactory();??
  36. ????????factory.setSizeThreshold(4096);??
  37. ????????ServletFileUpload?upload?=?new?ServletFileUpload(factory);??
  38. ????????upload.setSizeMax(maxPostSize);??
  39. try??
  40. ????????{??
  41. ????????????List?fileItems?=?upload.parseRequest(request);??
  42. ????????????Iterator?iter?=?fileItems.iterator();??
  43. ????????????while(iter.hasNext())??
  44. ????????????{??
  45. ????????????????FileItem?item?=?(FileItem)iter.next();??
  46. ????????????????if(!item.isFormField())??
  47. ????????????????{??
  48. ????????????????????String?name?=?item.getName();??
  49. ????????????????????System.out.println(name);??
  50. ????????????????????try??
  51. ????????????????????{??
  52. ????????????????????????item.write(new?File(uploadPath+name));??
  53. ????????????????????}??
  54. catch(Exception?e)??
  55. ????????????????????????e.printStackTrace();??
  56. ????????????????}??
  57. ????????????}??
  58. ????????}??
  59. catch(FileUploadException?e)??
  60. ????????????e.printStackTrace();??
  61. ????????????System.out.println(e.getMessage()+"结束");??
  62. ????????}??
  63. void?doGet(HttpServletRequest?request,?IOException???
  64. ????????processRequest(request,?response);??
  65. void?doPost(HttpServletRequest?request,108); list-style:decimal-leading-zero outside; color:inherit; line-height:17.27272605895996px"> }??

?

FileUpload.mxml

[c-sharp]? ?
    <?xml?version="1.0"?encoding="utf-8"?>??
  1. <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"?creationComplete="init()">??
  2. ????<mx:Script>??
  3. ????????<![CDATA[??
  4. ????????????import?flash.net.FileReference;??
  5. ????????????import?mx.controls.Alert;??
  6. ????????????import?mx.events.CloseEvent;??
  7. ????????????import?flash.events.*;??
  8. ??????????????
  9. ????????????private?var?file:FileReference;??
  10. private?function?init():void??
  11. ????????????{??
  12. ????????????????Security.allowDomain("*");??
  13. ????????????????file?=?new?FileReference();??
  14. ????????????????file.addEventListener(ProgressEvent.PROGRESS,?onProgress);??
  15. ????????????????file.addEventListener(Event.SELECT,?onSelect);??
  16. ????????????????file.addEventListener(Event.COMPLETE,?completeHandle);??
  17. ??????????????
  18. private?function?completeHandle(event:Event):void??
  19. ????????????????Alert.show("恭喜你,上传成功");??
  20. ????????????}??
  21. private?function?upload(): ????????????????var?imageTypes:FileFilter?=?new?FileFilter("Images?(*.jpg,?*.jpeg,?*.png)","*.jpg;*.jpeg;*.png");??
  22. ????????????????var?allTypes:Array?=?new?Array(imageTypes);??
  23. ????????????????file.browse(allTypes);??
  24. ????????????????//file.browse();??
  25. private?function?onSelect(e:Event): ????????????????Alert.show("上传?"?+?file.name?+?"?(共?"?+?Math.round(file.size)?+?"?字节)?","确认上传",Alert.YES|Alert.NO,null,proceedWithUpload);??
  26. private?function?onProgress(e:ProgressEvent): ????????????????lbProgress.text?=?"已上传?"+e.bytesLoaded?+?"?字节,共?"+e.bytesTotal+"?字节";??
  27. ????????????????var?proc:uint?=?e.bytesLoaded/e.bytesTotal*100;??
  28. ????????????????bar.setProgress(proc,100);??
  29. ????????????????bar.label?=?"当前进度:?"+"?"+proc?+?"%";??
  30. private?function?proceedWithUpload(e:CloseEvent): ????????????????if(e.detail?==?Alert.YES)??
  31. ????????????????{??
  32. ????????????????????var?request:URLRequest?=?new?URLRequest("http://localhost:8080/FileUpload/servlet/FileUpload");??
  33. ????????????????????????file.upload(request);??
  34. catch(error:Error)??
  35. ????????????????????????Alert.show("上传失败");??
  36. ????????]]>??
  37. ????</mx:Script>??
  38. ????<mx:Canvas?width="100%"?height="100%"?x="10"?y="170"?fontSize="12">??
  39. ????????<mx:VBox?width="100%"?horizontalAlign="center">??
  40. ????????????<mx:Label?id="lbProgress"?text="上传"?/>??
  41. ????????????<mx:ProgressBar?id="bar"?labelPlacement="bottom"?themeColor="#F20D7A"?minimum="0"?visible="true"?maximum="100"?label="当前进度:?0%"?direction="right"?mode="manual"?width="200"?/>??
  42. ????????????<mx:Button?label="上传文件"?click="upload()"?/>??
  43. ????????</mx:VBox>??
  44. ????</mx:Canvas>??
  45. </mx:Application>??

?

配置到tomcat上的时候,要在web-inf/lib里面要加入连个包:

  1. commons-fileupload-1.2.1.jar
  2. commons-io-1.4.jar

这两个包在网上很容易下载到。加入包以后要修改web.xml,在跟下加入下面servlet声明:

[xhtml]? ?
    <servlet>??
  1. ????servlet-name>FileUpload</>??
  2. ????servlet-class servlet-mappingurl-pattern>/servlet/FileUpload>??

我的文件是上传到D盘的a文件夹,要确保该目录存在。上传个图片试试吧!

(编辑:李大同)

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

    推荐文章
      热点阅读