2011-12-23 5 views
1

私の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; 
     } 
    }); 

が、私はのshowDocument(google.comを実行しようとした場合、私は例外

java.lang.SecurityException: showDocument url permission denied 

を受け取ります、_blank)は動作しますが、ファイルを表示しようとすると動作しません。

+0

'のshowDocument(新しいURL( "ファイル:/// C:/Contrato.PDF")、 "_blank");' - 'showDocument'は* *最後のコンピュータからファイルを示すために設計されていないのでしたユーザー!このPDFはクライアントまたはサーバー上にありますか? –

+0

クライアント側 –

答えて

2

AppletContextの方法は、fileプロトコルURLとして指定した場合でも、ローカルファイルシステムからファイルを起動することを目的としたものではありません。 。少なくとも二つの選択肢があります

:。

  1. JNLPのスニペットは、これは信頼できるアプリであることを示し、1.6以上のアプリのためになるように、Desktop.browse(URI)を呼び出すことができます。
  2. JNLP APIのBasicServiceは、showDocument(URL)メソッドを提供します。
+0

デスクトップクラスで解決された問題。 Ty –

+0

ようこそ。問題を明確にしたコードを投稿するには+1してください。 –

関連する問題