src/main/java/org/efaps/ui/servlet/FileServlet.java
@Override
    protected void doGet(final HttpServletRequest _req,
                         final HttpServletResponse _resp)
        throws ServletException
    {
        String fileName = _req.getRequestURI();
        fileName = fileName.substring(fileName.lastIndexOf('/') + 1);
        try {
            final Person pers = Context.getThreadContext().getPerson();
            if (pers != null) {
                final File file = getFile(pers.getId(), fileName);
                if (file != null && file.exists()) {
                    _resp.setContentType(getServletContext().getMimeType(file.getName()));
                    _resp.setContentLength((int) file.length());
                    _resp.setDateHeader("Last-Modified", System.currentTimeMillis());
                    _resp.setDateHeader("Expires", System.currentTimeMillis());
                    _resp.addHeader("Content-Disposition", "inline; filename=\"" + file.getName() + "\"");
                    _resp.setHeader("Cache-Control", "max-age=10");
                    final FileInputStream input = new FileInputStream(file);
                    IOUtils.copy(input, _resp.getOutputStream());
                }
            }
        } catch (final EFapsException e) {
            FileServlet.LOG.error("EFapsException", e);
            throw new ServletException(e);
        } catch (final IOException e) {
            FileServlet.LOG.error("IOException", e);
            throw new ServletException(e);
        }
    }
@Override
    protected void doGet(final HttpServletRequest _req,
                         final HttpServletResponse _resp)
        throws ServletException
    {
        String fileName = _req.getRequestURI();
        fileName = fileName.substring(fileName.lastIndexOf('/') + 1);
        try {
            final Person pers = Context.getThreadContext().getPerson();
            if (pers != null) {
                final File file = getFile(pers.getId(), fileName);
                if (file != null && file.exists()) {
                    _resp.setContentType(getServletContext().getMimeType(file.getName()));
                    _resp.setContentLength((int) file.length());
                    _resp.setDateHeader("Last-Modified", System.currentTimeMillis());
                    _resp.setDateHeader("Expires", System.currentTimeMillis());
                    _resp.addHeader("Content-Disposition", "inline; filename=\"" + file.getName() + "\"");
                    _resp.setHeader("Cache-Control", "max-age=10");
                    final FileInputStream input = new FileInputStream(file);
                    IOUtils.copy(input, _resp.getOutputStream());
                }
            }
        } catch (final EFapsException e) {
            FileServlet.LOG.error("EFapsException", e);
            throw new ServletException(e);
        } catch (final IOException e) {
            FileServlet.LOG.error("IOException", e);
            throw new ServletException(e);
        }
    }
@ Override protected void doGet ( final HttpServletRequest _req , final HttpServletResponse _resp ) throws ServletException { String fileName = _req . getRequestURI ( ) ; fileName = fileName . substring ( fileName . lastIndexOf ( ' ' ) + 1 ) ; try { final Person pers = Context . getThreadContext ( ) . getPerson ( ) ; if ( pers != null ) { final File file = getFile ( pers . getId ( ) , fileName ) ; if ( file != null && file . exists ( ) ) { _resp . setContentType ( getServletContext ( ) . getMimeType ( file . getName ( ) ) ) ; _resp . setContentLength ( ( int ) file . length ( ) ) ; _resp . setDateHeader ( "Last-Modified" , System . currentTimeMillis ( ) ) ; _resp . setDateHeader ( "Expires" , System . currentTimeMillis ( ) ) ; _resp . addHeader ( "Content-Disposition" , "inline; filename=\"" + file . getName ( ) + "\"" ) ; _resp . setHeader ( "Cache-Control" , "max-age=10" ) ; final FileInputStream input = new FileInputStream ( file ) ; IOUtils . copy ( input , _resp . getOutputStream ( ) ) ; } } } catch ( final EFapsException e ) { FileServlet . LOG . error ( "EFapsException" , e ) ; throw new ServletException ( e ) ; } catch ( final IOException e ) { FileServlet . LOG . error ( "IOException" , e ) ; throw new ServletException ( e ) ; } }
Search for the requested file in the folder corresponding to the user of the context.

@param _req request variable
@param _resp response variable
@throws ServletException on error
Search for the requested file in the folder corresponding to the user of the context .