base/struts-tools/src/main/com/thesett/common/webapp/servlets/DataStreamServlet.java
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();
    }
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();
    }
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.

@param  request  The HTTP request.
@param  response The HTTP response.

@throws IOException If the is an I/O error whilst writing data to the HTTP client through the remote output
stream.
Processes the http request that is directed to this servlet .