`
vrzd62vrzd
  • 浏览: 10837 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

flex4+servlet 实现文件上传功能

 
阅读更多

  最近老是被问到flex的上传问题怎么解决,今天就贴出web下的上传实现方式,以后会贴出air下的代码,敬请期待:
  flex4 代码:
   flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">  Array = myFileReference.fileList as Array; var requestUrl:URLRequest = new URLRequest("http://localhost:8080/upload/servlet/F ileUploadServlet"); var oneReference:FileReference = fileReferences.pop() as FileReference; oneReference.addEventListener(Event.COMPLETE,uploa dIterative); oneReference.upload(requestUrl); } /**上传迭代**/ private function uploadIterative(event:Event):void{ Alert.show((event.target as FileReference).name+"上传完成!") if((myFileReference.fileList as Array).length>0){ selectHandler(null); } } ]]-->     java 代码:
  package servlet; import java.io.File; import java.io.IOException; import java.util.Date; 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.disk.DiskFileItemFac tory; import org.apache.commons.fileupload.servlet.ServletFileU pload; public class FileUploadServlet extends HttpServlet { // 定义文件的上传路径 private String uploadPath = "c:\\"; // 限制文件的上传大小 private static final long maxFileSize = 104857600; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); Date date = new Date(); try { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(maxFileSize); upload.setHeaderEncoding("UTF-8"); List fileItems = upload.parseRequest(request); Iterator iter = fileItems.iterator(); // 依次处理每一个文件: String dictId = request.getParameter("dictId"); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { String fileName = item.getName(); long fileSize = item.getSize(); if (fileName != null && fileName.trim().length() > 0 && fileSize < maxFileSize) { // 取得上传文件后缀名 int index=fileName.lastIndexOf("."); String docType = fileName.substring(index); String docName=fileName.substring(0,index); File dir=new File(getServletContext().getRealPath("upload/templ ate/")); if(!dir.exists()){ dir.mkdirs(); } String filePath = "upload/template/" + date.getTime() + docType; File uploadFile = new File(getServletContext().getRealPath(filePath)); item.write(uploadFile); } } } } catch (Exception e) { e.printStackTrace(); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } } 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics