2016-11-16 5 views
0

私はコンピューティングエンジンとGoogleのクラウドストレージを連携して使用しています。 コンピューティングエンジンには、ブラウザを使用してページを読み込んでGoogleクラウドストレージから画像を取得するTomcatがあります。Google Cloud Storageから画像をダウンロードすることができますか?

Googleのクラウドストレージから画像が公開されていない複数の画像をダウンロードする(サーブレットによって生成された)htmlページを許可するにはどうすればいいですか?

broswersがhtmlページをダウンロードした後、クラウドストレージから直接画像をリクエストすると思いますが、画像を共有可能にすることなくbroswerに許可する方法を教えてください。

ありがとうございます。

答えて

1

これは難しいことですが、可能です。 GCS画像を閲覧できるユーザーと利用できないユーザーのための認証スキームを管理したい場合は、サービスが承認されていると判断した短期の署名付きURLを提供できるサービスが必要です。動的に生成されたHTMLページのイメージタグにURLを埋め込むか、またはJavaScriptを使用してサーバーからURLを取得します。

gcloud-javaライブラリには、このようなURLを生成する方法がsignURLです。

もう1つの選択肢は、画像のURLを容易に理解できないものに難読化し、頻繁に回転させることです。

+0

おかげで、それは私の問題、感謝 –

+0

URLのURL = storage.signUrl( \t \t \t \t \t \t \t BlobInfo.builder( "バケット"、 "img.jpg")を解く。(ビルド)、 \t \t \t \t \t \t \t 10、 \t \t \t \t \t \t \t TimeUnit.SECONDS、 \t \t \t \t \t \t \t SignUrlOption.signWith(ServiceAccountCredentials.fromStream(新規のFileInputStream(キーパス))) \t \t \t \t \t \t \t)。 \t \t \t \t \t \t \t \t \t \t \t \tストリングimgPath = url.toString()。 \t \t \t \t \t //out.write("Img path = "+ imgPath +"
"); \t \t \t \t \t \t \t \t \t \t \t \t out.write( "
")。 –

関連する問題