【发布时间】:2017-05-31 04:17:14
【问题描述】:
我刚开始使用谷歌云服务 发现以下只能使用 blob 实现,但我想使用云存储中的图像名称。
如果有的话,有没有办法使用 servingURL 调整图像大小 我该如何实现它,即如何从云存储中提供存储桶名称和图像名称?
并构造URL并传递参数
有没有我可以参考的博客或代码?
【问题讨论】:
标签: image google-app-engine firebase google-cloud-storage
我刚开始使用谷歌云服务 发现以下只能使用 blob 实现,但我想使用云存储中的图像名称。
如果有的话,有没有办法使用 servingURL 调整图像大小 我该如何实现它,即如何从云存储中提供存储桶名称和图像名称?
并构造URL并传递参数
有没有我可以参考的博客或代码?
【问题讨论】:
标签: image google-app-engine firebase google-cloud-storage
get_serving_url() 是 App Engine 的一部分,因此您不能在 Firebase 中使用它(除非 Firebase 最终会支持它),但您绝对可以使用 store the images in the Google Cloud Storage 代替 Blobstore,顺便说一下,这是推荐的方式。
【讨论】:
这里是调整图片大小的博客
这是示例 PHP 代码,但如何使其在 FireBase 中工作,您需要参考以下链接 click here to read more
index.php:
<?php
//var_dump($_FILES['uploaded_files']['tmp_name']);
syslog(LOG_WARNING, "Request came");
require_once 'google/appengine/api/cloud_storage/CloudStorageTools.php';
use google\appengine\api\cloud_storage\CloudStorageTools;
syslog(LOG_WARNING, "Imported Cloud Storage Tools");
//var_dump( $_GET);
$object_url=$_GET["image"];
$size=intval($_GET["size"]);
syslog(LOG_WARNING, "Object URL $object_url");
syslog(LOG_WARNING, "Size $size");
$bucket="gs://YOUR-PROJECT-ID.appspot.com/bucket_name/";
$object_image_url = CloudStorageTools::getImageServingUrl($object_url,['size' => $size, 'crop' => false]);
syslog(LOG_WARNING, "Output Url $object_image_url");
header("location: $object_image_url");
closelog();
?>
app.yaml:
runtime: php55
api_version: 1
handlers:
- url: /.*
script: index.php
【讨论】:
您可以使用 Firebase Javascript SDK 将您的文件发送到 Google Storage,并使用来自 AppEngine 的 PHP + 库构建一个 API 示例,用于生成对象的 URL,定位相同。
在app PHP中,记得将以下内容放入app.yaml:
runtime: php55
api_version: 1
handlers:
- url: /.*
script: index.php
在使用 gcloud 之前,部署您的示例 API:
gcloud app deploy
【讨论】: