私は、ユーザーがハードドライブからファイルを選択し、このファイルの最初の行を読み取り、それをJavaScriptに渡して追加の前処理を行い、その後、ボタンを押すと、HTTP POSTリクエストを介してそのファイルをアップロードしようとします。この最後のビットをコピーして変更したファイルをアップロードするための非常に基本的なオープンソースのアプレットが見つかりました。Javaアプレットのパーミッション
問題は、しかし、それはかなり動作しません。それはうまく動作しているようだが、私はアクセス許可に関連する2つの障害に遭遇する。 Javaコンソール内のメッセージは、アプレットがアクセスは、次の2つの権限にエラーを否定していたと言う:私は私がそれを建てたとき、私はすでにアプレットに許可を与えたと思ったので、私はこれは奇妙な見つける
java.lang.RuntimePermission setFactory
java.io.FilePermission read
」 NetBeansで「自己署名」オプションをチェックしてから、ブラウザの小さなセキュリティポップアップをクリックして確認します。
また、ファイルを読み込んでJavaScriptの最初の行を渡す場所で自分自身をコーディングした部分もうまく動作します。これはアプレットがローカルファイルシステムから読み込むことができることをはっきりと示しています!私が実際にアップロードを開始しようとするまで、問題は始まりません。注目すべきは、アップロードプロセスは新しいスレッドで実行されているようですが、残りのスレッドはすべてスレッドを作成せずにメインクラスで実行されることです。
私はJavaの初心者ですが、Javaのスレッドについてはほとんど知りません。この新しいスレッドにアクセス許可を何らかの形で渡す必要がありますか?またはその効果の何か? ありがとうございます。
doPrivilegedは非常に危険です。アプレットに署名するときと同じです。 –
これは、アプレットがファイルを読み取ることを可能にします。それほど多くはありません。それはそこにあり、質問に対する答えです。 –