1 12 package filters.upload; 13 14 import java.io.IOException ; 16 import java.io.File ; 17 18 import javax.servlet.ServletException ; 20 import javax.servlet.ServletRequest ; 21 import javax.servlet.http.HttpServletRequest ; 22 import javax.servlet.ServletResponse ; 23 24 import javax.servlet.Filter ; 26 import javax.servlet.FilterChain ; 27 import javax.servlet.FilterConfig ; 28 29 35 public final class FileUploadFilter implements Filter { 36 37 private String uploadDir = null; 39 40 41 47 public void init( FilterConfig config ) 48 throws ServletException { 49 50 if( uploadDir == null ) { 52 File tempdir = (File )config.getServletContext(). 53 getAttribute( "javax.servlet.context.tempdir" ); 54 if( tempdir != null ) { 55 uploadDir = tempdir.toString(); 56 } else { 57 throw new ServletException ( "Error in FileUploadFilter : No upload "+ 58 "directory found: set an uploadDir init "+ 59 "parameter or ensure the " + 60 "javax.servlet.context.tempdir directory "+ 61 "is valid" ); 62 } 63 } 64 } 65 66 78 public void doFilter( ServletRequest request, 79 ServletResponse response, 80 FilterChain chain ) 81 throws IOException ,ServletException { 82 83 HttpServletRequest req = (HttpServletRequest )request; 84 85 String content = req.getHeader( "Content-Type" ); 87 88 if( content == null || !content.startsWith( "multipart/form-data" ) ) { 90 chain.doFilter( request, response ); 91 } else { 92 FileUploadWrapper load = new FileUploadWrapper( req, uploadDir ); 93 chain.doFilter( load, response ); 94 } 95 } 96 97 101 public void destroy() { 102 } 103 } 104 | Popular Tags |