2011-01-14 13 views

答えて

3

サーブレットは、ServletResponseインスタンスのresponseというインスタンスを受け取ります。このインスタンスはgetOutputStreamメソッドを持ちます。 setContentTypeを使用して、イメージデータに応じて応答のコンテンツタイプを設定し、getOutputStreamを使用して出力ストリームを取得し、入力ストリームからループを読み取り、出力ストリームに書き込みます。

あなたがやっていることに合っていれば、HTMLのimgタグをs3のイメージに直接持ち込んで、サーバー全体に流さないようにすることができます。もちろん、イメージは外部から到達可能であれば問題ありません。 「s3 serve image」を検索した場合、これを行うことに関するさまざまな記事(SOのJeff Atwoodによるものを含む)が見つかるでしょう。ここではリンク先をランダムに選択しません。

4

最も簡単なことは、S3 URLを直接使用することです。彼らは形式である公共のファイルについては

http://s3.amazonaws.com/[bucket]/[key] 

しかし、@T.J.は彼の答えで指摘するように、これらの画像は、外部から見えるようになります。

ただし、あなたのコンテンツをprivateにすることができます。そのため、標準のURLで到達できないように、signed, expiring urlを介してのみアクセスしてください。 java AWS SDKはこれらを簡単に作成します。

関連する問題