1 21 package com.jaspersoft.jasperserver.war.common; 22 23 import java.io.IOException ; 24 import java.util.Iterator ; 25 26 import javax.servlet.Filter ; 27 import javax.servlet.FilterChain ; 28 import javax.servlet.FilterConfig ; 29 import javax.servlet.ServletException ; 30 import javax.servlet.ServletRequest ; 31 import javax.servlet.ServletResponse ; 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.ServletContext ; 34 35 import org.springframework.web.multipart.MultipartFile; 36 import org.springframework.web.multipart.MultipartHttpServletRequest; 37 import org.springframework.web.multipart.MultipartResolver; 38 import org.springframework.web.multipart.commons.CommonsMultipartResolver; 39 41 public class UploadMultipartFilter implements Filter { 42 43 public void doFilter(ServletRequest request, 44 ServletResponse response, 45 FilterChain chain) 46 throws IOException , ServletException { 47 48 HttpServletRequest hRequest = (HttpServletRequest )request; 49 MultipartResolver resolver= new CommonsMultipartResolver(); 51 52 if(resolver.isMultipart(hRequest) && hRequest.getContentLength() != -1){ 55 56 MultipartHttpServletRequest mreq = resolver.resolveMultipart(hRequest); 57 58 if(mreq!=null){ 59 Iterator iterator=mreq.getFileNames(); 60 String fieldName=null; 61 while(iterator.hasNext()){ 62 fieldName=(String )iterator.next(); 63 } 66 MultipartFile file=mreq.getFile(fieldName); 67 if(file!=null){ 68 String fullName = file.getOriginalFilename(); 69 if(fullName!=null && fullName.trim().length()!=0){ 70 int lastIndex = fullName.lastIndexOf("."); 71 if(lastIndex!=-1){ 72 String fileName=fullName.substring(0,lastIndex); 73 String extension=fullName.substring(lastIndex+1); 74 mreq.setAttribute(JasperServerConst.UPLOADED_FILE_NAME,fileName); 75 mreq.setAttribute(JasperServerConst.UPLOADED_FILE_EXT,extension); 76 } 77 } 78 } 79 } 80 chain.doFilter(mreq,response); 81 }else 82 83 chain.doFilter(request,response); 84 } 85 86 public void init(FilterConfig arg0) throws ServletException { 87 } 89 90 public void destroy() { 91 93 } 94 } | Popular Tags |