1

私は以前ここで質問をし、多くの知識豊富な人々から大きな助けとアドバイスを得たので、私が抱えている別のプログラミングの問題でこれをもう一度試してみようと思いました.

これが基本的な問題です。4 つの画像を取り、それらを 1 つの大きな画像に結合する小さな Java アプレットを作成しました。具体的には、4 つの画像を 1 つの大きな画像に結合し、それを折りたたんで印刷するとグリーティング カードになります。すべて問題なく動作しますが、アプレットを自分の Web サイトに埋め込むので、ユーザーに Web サイトの画像リストから必要な 4 つの画像を選択してもらい、その選択内容を使用して大きな画像。

ここで問題があります...大きな画像を作成するときに、ユーザーがダウンロードできるようにしたいのです。署名付きアプレットを作成する必要はありますか? もしそうなら、どうすればアプレットに署名できますか? または、アプレットがそのような方法で画像を表示するだけで、ユーザーが画像を右クリックしてファイルシステムに保存できるようにすることは何とか可能ですか. アドバイス/提案をいただければ幸いです!!

4

3 に答える 3

3

アプレット クラス自体がダウンロードされたのと同じ場所からイメージが読み込まれる場合、アプレットに署名する必要はありません。ただし、署名されていないアプレットからイメージをローカルに保存すると、問題が発生します。その機能のために、アプレットに署名する必要があります。

別の方法として、Web ブラウザーで実行されているアプレットの場合、次の方法を使用して別のブラウザー フレームに画像を表示できます。

applet.getAppletContext().showDocument(imageURL, frameTarget);

このページ/フレームから、 Javascript を使用して画像をローカルに保存できます。

于 2013-01-18T00:53:29.997 に答える
1

Java とブラウザーのバージョンに応じて、次の 3 つのオプションが表示されます。

  1. Jar にデジタル署名し、デジタル署名されたコードを信頼するようエンド ユーザーに促します。
  2. アプリケーションを jar し、Java Web Startを使用してデプロイし、JNLP API サービスを使用して結果のイメージを保存します。これは、Java 1.2 以降のフリー フローティング アプレット、または 1.6.0_10+ 以降の埋め込みアプレットで実行できます。これがデモです。ファイル サービスの. GIFanimは、アニメーション GIF を保存するサービスを使用する埋め込みアプレットも提供します。
  3. 画像をBase64 URLとしてエンコードして、Web ページに直接表示します。これには最新のブラウザが必要です。古いブラウザでは、画像サイズに 32Kb の制限があります。 J2SE には、最近追加されたメソッドしかなく、変換を行うことができました。見るDatatypeConverter.printBase64Binary(byte[])
于 2013-01-18T02:03:01.783 に答える
0

ファイル システムにファイルを書き込むには、アプレットに署名する必要があります。

ただし、アプレットに自己署名するのは非常に簡単で、ユーザーが非常に用心深くない限り、自己署名は機能します。

これらの手順に従って、アプレットに署名します。PSこれらの手順はLinuxセットアップ用です。Windows で環境変数を設定する必要がある場合があります。

Jar署名リンク

于 2013-01-18T01:07:46.577 に答える