Java открыть файл PDF на стороне клиента в Adobe Reader

В веб-приложении Java мне нужно открыть файл PDF на клиентском компьютере, который также доступен в общем доступе, без копирования на сторону клиента. Он должен открыться в Adobe Reader на стороне клиента.


person user3541488    schedule 16.04.2014    source источник


Ответы (1)


Если файл находится на стороне клиента, если он дважды щелкнет файл, он откроется в Adobe Reader :-)

Но сервер не может открыть файл, расположенный на стороне клиента. Если веб-приложение необходимо открыть, файл должен находиться в доступном для чтения месте на сервере. Вы можете написать сервлет, чтобы открыть файл PDF.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletOutputStream servletOutputStream = null;
BufferedInputStream bufferedInputStream = null;
BufferedOutputStream bufferedOutputStream = null;
try {

    // Public user guide
    String fileName = "MyFile.pdf";


    bufferedInputStream = new BufferedInputStream(new FileInputStream(fileName));

    byte[] data = new byte[bufferedInputStream.available()];
    bufferedInputStream.read(data);

    response.setContentType("application/pdf");
    servletOutputStream = response.getOutputStream();
    bufferedOutputStream = new BufferedOutputStream(servletOutputStream);
    bufferedOutputStream.write(data);

} catch (Exception e) {
    LOG.error(e);
} finally {

    if (bufferedInputStream != null) {
        bufferedInputStream.close();
    }

    if (bufferedOutputStream != null) {
        bufferedOutputStream.flush();
        bufferedOutputStream.close();
    }

    if (servletOutputStream != null) {
        servletOutputStream.flush();
        servletOutputStream.close();
    }
}
person Jay    schedule 16.04.2014