传送图片

适用于 Cloud Storage 工具的 App Engine API 为传送图片文件提供了简便方法:

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

将文件设置为公开相比,通过这种方法传送图片的一个优点是可以动态调整大小和进行剪裁,无需存储不同大小的图片。

CloudStorageTools::getImageServingUrl 可返回图片的传送网址。如果图片将在 HTTPS 网页中展示,请将 secure_url 设置为 True,以免出现混合内容警告。

请注意,此网址可公开供所有人读取,但它“不可猜测”。

如需停止传送网址,请调用 CloudStorageTools::deleteImageServingUrl

如需使用此功能,请导入 CloudStorageTools 类:

use google\appengine\api\cloud_storage\CloudStorageTools;

现在,调整图片 image.jpg 的大小并进行剪裁:

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