权限在jnlp中被拒绝尝试调用showDocument与pdf文件

问题描述:

我需要一些帮助,在我的jnlp应用程序showDocument。 我试图在浏览器的另一个选项卡中显示一个pdf文件,但是java插件被拒绝。权限在jnlp中被拒绝尝试调用showDocument与pdf文件

我的JNLP文件具有

<security> 
     <all-permissions/> 
    </security> 

,我的代码是:

AccessController.doPrivileged(new PrivilegedAction() 
    { 
     @Override 
     public Object run() 
     { 
      try 
      { 
       applet.getAppletContext().showDocument(new URL("file:///C:/Contrato.PDF"), "_blank"); 
      } 
      catch(Exception e) 
      { 
       e.printStackTrace(); 
       showException("Erro ao exibir arquivo:" + e.getMessage()); 
      } 
      return null; 
     } 
    }); 

,但我收到异常

java.lang.SecurityException: showDocument url permission denied 

如果我尝试做showDocument(google.com ,_blank)...,但当我尝试显示任何文件时,它不起作用。

+0

'showDocument(new URL(“file:/// C:/Contrato.PDF”),“_blank”);' - 'showDocument' was * not * designed for shown off off off off the computer of end用户!该PDF是在客户端还是服务器上? – 2011-12-24 20:09:57

+0

在客户端 – 2012-01-04 22:09:55

showDocument(URL)方法AppletContext从未打算从本地文件系统启动文件(即使指定为file协议URL)。

至少有两个选择:

  1. 的JNLP片段表明,这是一个值得信赖的应用程序,所以对于一个1.6+应用程序,Desktop.browse(URI)可以调用。
  2. JNLP API的BasicService提供了showDocument(URL)方法。
+0

桌面类解决了问题。 Ty – 2012-04-04 20:45:18

+0

不客气。发布代码以清除问题+1。 – 2012-04-05 01:20:15