Servir imágenes

La API de App Engine para herramientas de Cloud Storage proporciona métodos prácticos para servir archivos de imagen:

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

Una de las ventajas de usar este método para publicar imágenes en lugar de hacer públicos los archivos es que se pueden cambiar de tamaño y recortar de forma dinámica sin necesidad de almacenar las imágenes en diferentes tamaños.

CloudStorageTools::getImageServingUrl devuelve una URL de publicación de una imagen. Si la imagen se va a mostrar en una página HTTPS, defina secure_url como True para evitar las advertencias de contenido mixto.

Ten en cuenta que cualquier persona puede leer esta URL públicamente, pero no es fácil adivinarla.

Para dejar de publicar la URL, llama a CloudStorageTools::deleteImageServingUrl.

Para usar esta función, importa la clase CloudStorageTools:

use google\appengine\api\cloud_storage\CloudStorageTools;

Ahora, cambia el tamaño y recorta la imagen image.jpg:

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