flex结合servlet文件上传

xiaoxiao2026-08-23  10

客户端------------------------------------------------------------ <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="addListener()"> <mx:Script> <![CDATA[ private var file:FileReference = new FileReference(); private function addListener():void{ file.addEventListener(Event.SELECT,opption); file.addEventListener(Event.COMPLETE,opption); file.addEventListener(ProgressEvent.PROGRESS,opption); file.addEventListener(IOErrorEvent.IO_ERROR,opption); } private function opption(e:Event):void{ if(e.type == Event.SELECT){ filename.text = "选择了文件:"+file.name; }else if(e.type == Event.COMPLETE){ filename.text = "上传完毕"; }else if(e.type == ProgressEvent.PROGRESS){ filename.text = "已上传: "+Math.round(100*(ProgressEvent(e).bytesLoaded/ProgressEvent(e).bytesTotal))+"%"; }else if(e.type == IOErrorEvent.IO_ERROR){ filename.text = "远程服务器未开启或出现异常,请稍后重试"; } } private function myUpload():void{ var url:String = "http://localhost:8080/flexLogin/servlet/FileUpload"; var urlRequest:URLRequest = new URLRequest(url); file.upload(urlRequest); } ]]> </mx:Script> <mx:Canvas width="436" height="200" backgroundColor="#FFFFFF"> <mx:Text x="10" y="10" text="请选择要上传的文件" fontWeight="bold" fontSize="12" id="filename"/> <mx:Button x="10" y="38" label="浏览文件" fontSize="12" id="search" click="file.browse()"/> <mx:Button x="96" y="40" label="上传" id="upload" click="myUpload()"/> </mx:Canvas> </mx:Application>

 

 

服务器端--------------------------------------------------------------- package cn.zhangxuemin.Login; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; 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.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class FileUpload extends HttpServlet { private static final long serialVersionUID = 1L; public FileUpload() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = this.getServletConfig().getServletContext().getRealPath("/")+"upload\\"; int maxPostSize = 100 * 1024 * 1024; DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(maxPostSize); upload.setHeaderEncoding("utf-8"); try { @SuppressWarnings("unchecked") List<FileItem> fileItems = upload.parseRequest(request); Iterator<FileItem> iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { String name = item.getName(); System.out.println(path+name); try { item.write(new File(path + name)); } catch (Exception e) { e.printStackTrace(); } } } } catch (FileUploadException e) { e.printStackTrace(); System.out.println(e.getMessage() + "结束"); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } public void init() throws ServletException { } }

 

相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5051728.html

最新回复(0)