我可以在 Google Cloud Function 中访问 GraphicsMagick for ImageMagick 吗?

2023-11-28

我想制作一个 Google Cloud Function 来正确设置上传文件的内容类型。我知道如何使用 GraphicsMagick 或 ImageMagick 执行此操作,但我不确定 Google Cloud Function 是否具有这些本机库。我如何知道他们是否有它们,或者如果没有,我该如何安装它们?


Google Cloud Functions 在安装了 ImageMagick 的容器中运行。不知何故Firebase 文档似乎有最好的文档。从那里:

Cloud Functions 提供了一个名为的图像处理程序ImageMagick可以对图形图像文件进行操作。以下是如何为上传的图像文件创建缩略图的示例:

    // Download file from bucket.
    const bucket = gcs.bucket(fileBucket);
    const tempFilePath = `/tmp/${fileName}`;
    return bucket.file(filePath).download({
      destination: tempFilePath
    }).then(() => {
      console.log('Image downloaded locally to', tempFilePath);
      // Generate a thumbnail using ImageMagick.
      return exec(`convert "${tempFilePath}" -thumbnail '200x200>' "${tempFilePath}"`).then(() => {
        console.log('Thumbnail created at', tempFilePath);
        // We add a 'thumb_' prefix to thumbnails file name. That's where we'll upload the thumbnail.
        const thumbFilePath = filePath.replace(/(\/)?([^\/]*)$/, `$1thumb_$2`);
        // Uploading the thumbnail.
        return bucket.upload(tempFilePath, {
          destination: thumbFilePath
        });
      });
    });

此代码执行 ImageMagick 命令行程序 Convert 为保存在临时目录中的图像创建 200x200 缩略图,然后将其上传回 Cloud Storage。

另请参阅 Firebase 函数示例存储库,了解如何使用它的示例:https://github.com/firebase/functions-samples/tree/master/generate-thumbnail

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 Google Cloud Function 中访问 GraphicsMagick for ImageMagick 吗? 的相关文章

随机推荐

  • 如何使用 jQuery 更改元素的标题属性

    我有一个表单输入元素 想要更改其标题属性 这必须很简单 但由于某种原因我找不到如何做到这一点 这是如何完成的 我应该在哪里以及如何搜索如何做到这一点 在编写任何代码之前 让我们讨论一下属性和属性之间的区别 属性是应用于元素的设置HTML 标
  • 在 Three.js 中根据对象的旋转来移动对象

    我正在尝试根据其旋转在 Three js 中移动立方体 但不确定如何进行 到目前为止 我可以使用 A 和 D 键来旋转立方体的 z 轴 使用 W 键我希望它相对于其旋转向前移动 从 2D 来看 我会这样 float angle GradTo
  • iOS 11 使用大标题时滚动到顶部无法正常工作

    使用大标题并点击状态栏滚动到标题顶部时UIScrollView or UITableView 可能也UICollectionView 还没有测试过这个 它总是有点太过分了 我已启用刷新TableView当点击状态栏时 它会显示为这样 并保持
  • 和 <%@ include file=...> 有什么区别? [复制]

    这个问题在这里已经有答案了 这两个标签都包含一个页面中另一页面的内容 那么什么是精确差异在这两个标签之间 在一段可重用的代码中 我使用指示 在第二个我使用标准动作
  • React,如何从父级访问子级的状态?无需更新父级的状态

    大家好 我对 React 还很陌生 并且很难理解整个状态管理以及通过状态和 props 传递数据 我确实理解标准的反应方式是以单向方式传递数据 从父级到子级 我已经对所有其他组件这样做了 但我有一个名为 Book 的组件 它根据用户选择形式
  • “any”类型的参数不可分配给“never”类型

    我正在从端点获取图像 但无法将每个映射文件推送到本地数组中 我收到错误Argument of type any is not assignable to type never 我尝试将所有参数设置为blob没有成功 尝试设置function
  • HTML 表格中的自动换行

    我一直在使用word wrap break word将文本换行divs and spans 但是 它似乎不适用于表格单元格 我有一张桌子width 100 一行两列 列中的文本 尽管样式与上述相同word wrap 不换行 它会导致文本超出
  • ScrollViewer 使用 DataGrid 时性能缓慢

    我有以下场景
  • iOS 5.0 中的 Core Image 滤镜对于实时视频处理来说足够快吗?

    现在 Apple 已将 Core Image 框架移植到 iOS 5 0 我想知道 Core Image 是否足够快 可以将实时滤镜和效果应用于相机视频 另外 学习 iOS 5 0 的 Core Image 框架的一个好的起点是什么 现在
  • 属性与函数(特别是.NET)

    我读过一些关于这个主题的讨论 但有一些我不明白的地方 最常见的答案似乎是这样的 使用 ReadOnly 属性返回缓存数据 使用 Function 返回非缓存数据 根本不要使用 WriteOnly 属性 因为 它没有意义 这没有性能原因 在伊
  • PHP 为每个页面添加导航栏技术?

    我正在尝试通过包含文件来合并每个页面的代码来清理我的 php 网页中的代码 如下所示 文件 head php 文件 页脚 php
  • 节点js SMTP错误

    我正在通过我的 godaddy 电子邮件帐户发送电子邮件 为此 我使用 Node js 发送电子邮件 但它给出以下错误 Error getaddrinfo ENOTFOUND code ENOTFOUND errno ENOTFOUND s
  • 如何使用节标题调整 UITableViewController 中 UITableView 的大小

    我在 UITableViewController 中有一个分组的 UITableView 我想水平调整它的大小 我尝试了很多不同的方法 但没有一个是完美的 我尝试过的 1 覆盖 UITableView setFrame 但它没有移动各部分的
  • 保持数据库连接打开的成本是否昂贵?

    我正在与一些软件开发人员开会 他们建议我在我的应用程序代码中尽快关闭数据库连接 有人可以告诉我在应用程序中保持连接打开有什么危害吗 我正在从数据库的单个表中读取数据 把它想象成公共汽车上的座位 当您打开连接时 您会填满这些座位 最终 公共汽
  • 如何在 Google App Engine 启动器启动时禁用自动检查更新?

    我一直在研究 GAE 并且喜欢 Windows SDK 提供的 GAE 启动器的易用性 我的问题是 当我启动应用程序时 它需要很长时间才能响应 这是因为程序在启动应用程序之前首先检查更新 这会导致它在等待响应时挂起 我的问题是我的主要开发计
  • Java - SimpleDateFormat 解析 12:19:00 到 00:19:00

    我正在尝试解析迄今为止的字符串 但输出看起来不正确 下面是我的代码 public static void main String args Date startDate new Date DateFormat formatter new S
  • 如何从 base64 数据 URI 在服务器端保存 PNG 图像

    我正在使用 Nihilogic 的 Canvas2Image JavaScript 工具将画布绘图转换为 PNG 图像 我现在需要的是使用 PHP 将此工具生成的这些 base64 字符串转换为服务器上的实际 PNG 文件 简而言之 我目前
  • mysql ...in where 子句不明确

    SELECT cat CategoryID as CategoryID count p ProductID as CountProducts FROM Category as cat LEFT JOIN Products as p on p
  • WordPress如何使用jquery和$符号

    我在 WordPress 插件中有一个简单的 jQuery 脚本 它使用如下 jQuery 包装器 document ready function jQuery code is in here 我从 WordPress 仪表板中调用此脚本
  • 我可以在 Google Cloud Function 中访问 GraphicsMagick for ImageMagick 吗?

    我想制作一个 Google Cloud Function 来正确设置上传文件的内容类型 我知道如何使用 GraphicsMagick 或 ImageMagick 执行此操作 但我不确定 Google Cloud Function 是否具有这