Como disponibilizar imagens

A API do App Engine para Ferramentas do Cloud Storage fornece métodos convenientes para a exibição de arquivos de imagem:

  • CloudStorageTools.getImageServingUrl()
  • CloudStorageTools.deleteImageServingUrl()

Uma vantagem de usar esse método para exibir imagens em vez de simplesmente tornar os arquivos públicos é a capacidade de redimensioná-las e cortá-las dinamicamente sem precisar armazená-las em tamanhos diferentes.

CloudStorageTools::getImageServingUrl retorna um URL de disponibilização para uma imagem. Se a imagem for exibida em uma página HTTPS, defina secure_url como True para evitar avisos de conteúdo misto.

Esse URL é publicamente legível por todos, mas não pode ser adivinhado.

Se você quiser parar de exibir o URL, chame CloudStorageTools::deleteImageServingUrl.

Para usar esse recurso, importe a classe CloudStorageTools:

use google\appengine\api\cloud_storage\CloudStorageTools;

Agora redimensione e corte a imagem image.jpg:

$options = ['size' => 400, 'crop' => true];
$image_file = "gs://${my_bucket}/image.jpg";
$image_url = CloudStorageTools::getImageServingUrl($image_file, $options);