我们如何使用firebase映像文件并使用get_Serving_URL调整它们的大小

时间:2016-06-05 21:15:03

标签: image google-app-engine firebase google-cloud-storage

我刚开始使用谷歌云服务 并发现以下内容只能使用blob实现,但我想使用云存储中的图像名称。

是否有办法使用serveURL调整图像大小(如果是这样) 我该如何实现它,即如何从云存储中提供存储桶名称和映像名称?

并构造URL并传递参数

我可以参考哪些博客或代码?

3 个答案:

答案 0 :(得分:2)

这是调整图片大小的博客

这是示例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

答案 1 :(得分:1)

get_serving_url()是App Engine的一部分,因此您无法在Firebase中使用它(除非Firebase最终支持它),但您绝对可以store the images in the Google Cloud Storage而不是Blobstore,这是顺便说一句是推荐的方式。

答案 2 :(得分:0)

您可以使用Firebase Javascript SDK将您的文件发送到Google存储空间,并使用AppEngine中的PHP +库构建API示例以生成对象的网址,这些存储库位于同一个存储区中。

在应用PHP中,请记住在app.yaml中添加以下内容:

runtime: php55
api_version: 1

handlers:
- url: /.*
  script: index.php

之前,使用gcloud部署您的示例API:

gcloud app deploy