Google Apps脚本将提取的图像文件写入Google Developer Storage,就像缓存一样

时间:2012-10-11 14:31:13

标签: google-apps-script google-cloud-storage

我不确定这是否可行,所以我正在寻找建议。这是场景。使用GAS(Google Apps脚本)从慢速源获取图像文件,并将这些文件上传/写入/发布到更快,更可扩展的其他位置,例如Google Developer Storage(GDS)。然后从GDS而不是源代码将文件提供给我的网站。

我假设使用UrlFetchApp.fetch(url)来获取图像,并使用getContent()来获取文件,但我找不到如何将文件发送/发送/写入服务器/存储?

在查看文档时,我注意到了“缓存服务”。也许这就是我要找的东西。但它似乎是供内部使用,而不是通过URL将缓存的数据提供给网站。 我还注意到JDBC服务允许您写入数据库,因此我可以将图像文件存储在数据库中,但这似乎有点过分,只是为了缓存和重新提供静态图像。

干杯

1 个答案:

答案 0 :(得分:0)

您可以使用文件容器页面创建Google网站,然后将图像上传到该容器。上传图像后,有一个调用来检索网址。通过使站点公开,您可以托管图像并从其他界面使用它们。以下是一段代码:

  var file = your_blob; // this should be the content of the image
  var err = 0;
  var errText = '';
  var picUrl = '';

  // Uploads the image to the sites container page
  var page = SitesApp.getPageByUrl('https://sites.google.com/a/yourdomain.com/yourpage');

  try {
    var attachment = page.addHostedAttachment(file);
    picUrl = attachment.getUrl();
  } catch (e) {
    err = 1;
    errText = e;
  }

  // picUrl now contains the url for the image.. 

希望这会有所帮助。 克里斯