2011-06-28 5 views
3

イメージをゼロから作成するJavaコードがあります。「オンザフライ」でイメージ名を指定するJavaイメージの生成

私はまた、いくつかのパラメータ(fyi、QRコード生成)に従って画像を提供するサーブレットを持っています。

誰かが右クリックして保存する場合にこのイメージの名前を指定したいと思います。現在、ブラウザは相対URLを名前(すなわち生成)として受け取り、拡張子はありません。

ご存知ですか?

ありがとう、 Alexis。

答えて

1

あなたの画像をエンコードするには、いいURLを使用してください。
私は

images/qr/product27_q5.png 

にこの方法でそれをマッピング、今あなたが

代わり
generateServlet?product=27&query=5 

ような何かをやっていると仮定し、ブラウザだけで素敵なURLを参照し、ファイル名としてそれを提案します。また、実装をより隠すこともできます。

サーブレットをimages/qr/*にマップして、正規表現を使用して、要求されたパスから実際のパラメータを抽出します。

あなたも提供拡張子に応じて、異なる画像タイプを生成することがありました:)

+1

も、このように行うことができます。 'img/viewcover.jpg?selected = 22233' viewcover.jpgサーブレットにマップします。 – zawhtut

+0

それを行うにはうまくいく方法ですが、私はいくつかのレスポンスヘッダーを考えていました。それよりも優れています:imageioメタデータ:)。とにかく、ありがとう、私はそれを実装することを考えます。 –

+0

@zawhtut:はい。しかし、すべての画像がダウンロードされると、viewcover.jpgという名前が付けられます。あなたは異なる名前が必要で、多分ユーザーにとっては説明的なものでもあります。 –

1
resp.setContentType("image/jpg"); 
    resp.setHeader("Content-Disposition", "attachment; filename=\"" + your_filename + "\""); 
+0

+1。名前に注意してください:)ファイル名をヘッダーにエンコードする方法については、ascii-7のみを使用するか、リファレンスを参照してください。 – helios

+1

これはイメージをダウンロードするために機能します。私の場合は HTMLタグで表示されます。私はまた、 "Content-Disposition"、 "inline; –

関連する問題