0

ZK Framework後で使用するディスクにバイト配列を保存し、このバイト配列を取得してファイルを作成する必要があります。the real file後でそれを画像のギャラリーに渡す必要がありJavascript jquery pluginます。これは、次のパターンを使用して画像を表示します。

<h:a href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/800px-Bohinjsko_jezero_2.jpg">
<h:img                     src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg"/>

私はこれまでに何を解決しましたか?

CommonsIO私はOKを使用してバイト配列を使用してファイルを作成しました。arrayofBytes今のところ重要ではないからファイルを作成する方法がjava7にあるかどうか疑問に思っていました。

ご覧のとおり、ここでの主な重要なことは、プラグインがファイル イメージをソースにする必要があることです。

<h:img                    src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Bohinjsko_jezero_2.jpg/100px-Bohinjsko_jezero_2.jpg"/>

私はファイルを作成しましたtemp directoryが、このディレクトリはブラウザーに到達できません。エラー画像が見つからないため、私の解決策は、静的画像を使用して機能するfile imageフォルダー内に画像フォルダーを作成することです。私の質問は..WEBCONTENT/image

プログラムでアプリ ディレクトリへのフル パスを取得するにはどうすればよいですか? 何かのようなもの

C:\app\eclipse\myproject\WebContent\img\temporals 

後でここでtemporal file

開始時に画像のバイト配列のみを持っているより良いアプローチがあります..

どうもありがとう..

4

1 に答える 1

1

Web アプリケーションの存続期間中に Web アプリケーション ディレクトリ自体にデータを書き込むのは間違いだと思います。これらのファイルをパスで参照しようとするのはさらに悪いことです。これらのファイルは、アプリケーションが再デプロイされると削除され、サーブレット コンテナーでは、実際のパスでファイルを参照することはほとんどなく、サーブレットのパスを参照します。

セットアップによっては、おそらくファイルをディスクに書き込む必要はまったくありません。最終的に、サーバーはそのファイルを読み取り、とにかくクライアントにストリーミングする必要があります。

最良のオプションは、正しい MIME タイプ(例: image/jpeg) を使用してバイト配列をストリーム バックするサーブレットを提供することです。
この答えは、似たようなことを示唆しています。
この回答では、実装について説明します。
とにかくバイト配列を使用している場合、これは理想的です。

ZK を利用する別のオプションは、バイト配列でAImageを作成し、それを直接レンダリングすることです。

サーバーから静的コンテンツを提供することを検討することもできます (Tomcat のようなサーブレット コンテナーを使用している場合はおそらく簡単ではありません)。または、画像をホストするために Apache サーバーのような単純なサーバーを使用することもできます。

質問の文脈を知らずに何かを具体的に推奨することは困難です。

于 2013-08-15T21:32:47.750 に答える