【问题标题】:How Can I Return Specified Image Size From Google Cloud Storage With Node API?如何使用 Node API 从 Google Cloud Storage 返回指定的图像大小?
【发布时间】:2017-09-08 23:20:27
【问题描述】:

我正在使用云存储,它运行良好,我只是不想每次都返回全尺寸图像。我想知道是否有一种方法可以指定宽度以在我请求时调整图像的大小?

这是工作代码。我只需要返回较小的图像,例如 300 像素宽(保持原始纵横比)。这个数字可能会改变或波动,所以我不想保存大量不同尺寸的不同版本,除非我绝对必须这样做。

var fileName = "Image.png";

var stream = bucket.file(fileName).createReadStream();

res.writeHead(200, { 'Content-Type': imageInfo.mime_type });

stream.on('data', function (data) {
  res.write(data);
});

stream.on('error', function (err) {
  console.log('error reading stream', err);
});

stream.on('end', function () {
  res.end();
});

我发现这个网站解释了如何在 PHP 中执行此操作,所以我猜可能有一种方法可以在节点中执行此操作?

https://cloud.google.com/appengine/docs/standard/php/googlestorage/images

【问题讨论】:

    标签: node.js google-app-engine google-cloud-storage


    【解决方案1】:

    这篇文章应该会让你走上正轨:“使用 Google Cloud Platform 上传、调整大小和提供图像”@Lipis https://medium.com/google-cloud/uploading-resizing-and-serving-images-with-google-cloud-platform-ca9631a2c556

    【讨论】:

    • 这对于公共 URL 来说很有意义,我的恰好是私有 URL,这就是为什么我希望通过节点 API 直接执行此操作。
    • 它们是私有的,因为它们在没有身份验证的情况下无法查看,或者它们是公开只读的?
    • 未经身份验证无法查看。每一张图片都受到保护(不仅仅是一个秘密链接,用户必须登录才能看到图片)。
    • 似乎图像大小调整和用户是否经过身份验证是不同的问题。您应该能够使用上述策略,但有与下载/查看图像存储中所有资源相关的安全规则。
    猜你喜欢
    • 2020-11-12
    • 2018-07-17
    • 2016-08-08
    • 2014-06-16
    • 1970-01-01
    • 2018-06-06
    • 2017-06-04
    • 2016-08-31
    • 1970-01-01
    相关资源
    最近更新 更多