public void service ( HttpServletRequest request , HttpServletResponse response ) throws IOException { log . fine ( "void service(HttpServletRequest, HttpServletResponse): called" ) ; // Read the parameters and attributes from the request String contentType = ( String ) request . getAttribute ( "contentType" ) ; String contentDisposition = ( String ) request . getAttribute ( "contentDisposition" ) ; InputStream inputStream = ( InputStream ) request . getAttribute ( "inputStream" ) ; // Build the response header // response.addHeader("Content-disposition", "attachment; filename=" + fileName); if ( contentType != null ) { response . setContentType ( contentType ) ; } if ( contentDisposition != null ) { response . addHeader ( "Content-disposition" , contentDisposition ) ; } // response.setContentLength((int)f.length()); // Create a stream to write the data out to BufferedOutputStream outputStream = new BufferedOutputStream ( response . getOutputStream ( ) ) ; // Read the entire input stream until no more bytes can be read and write the results into the response // This is done in chunks of 8k at a time. int length = - 1 ; byte [ ] chunk = new byte [ 8192 ] ; while ( ( length = inputStream . read ( chunk ) ) != - 1 ) { outputStream . write ( chunk , 0 , length ) ; } // Clear up any open stream and ensure that they are flushed outputStream . flush ( ) ; inputStream . close ( ) ; }
Processes the http request that is directed to this servlet .