2016-11-16 2 views
0

У меня есть вычислительный движок и облачное хранилище Google работают вместе. В вычислительном движке работает tomcat, чтобы браузеры могли загружать страницу и получать изображения из облачного хранилища Google.Разрешить браузеру загружать изображения из Google Cloud Storage?

Как я могу разрешить html-страницу (сгенерированную сервлетом) загрузить несколько изображений из облачного хранилища Google, где изображения не являются общедоступными?

Что я ожидаю, когда броузеры загружают страницу html, тогда он будет запрашивать изображения непосредственно из облачного хранилища, но как я могу позволить браузеру сделать это, не делая изображения общедоступными?

Thanks

ответ

1

Это сложно, но возможно. Если вы хотите управлять какой-то схемой авторизации для тех, кто может и не может просматривать изображения GCS, вам понадобится служба, которая может продавать краткосрочные подписанные URL-адреса сторонам, которые решает ваш сервис. Затем вы вставляете URL-адреса в теги изображений ваших динамически сгенерированных HTML-страниц или извлекаете URL-адреса с сервера с помощью JavaScript.

В библиотеке gcloud-java имеется метод signURL для создания такого URL-адреса.

Другим вариантом было бы просто сфотографировать 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 ("
"); –

 Смежные вопросы

  • Нет связанных вопросов^_^