You need to enable JavaScript to run this app.
文档中心
文档控制台
注册
veImageX

veImageX

复制全文
下载 pdf
Node.js SDK
资源管理
复制全文
下载 pdf
资源管理

阅读本文,您可以获取 Node SDK 资源管理的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Node SDK 的安装及初始化操作。

调用示例

本节为您介绍资源管理相关接口的功能和调用示例。

获取文件上传地址和凭证

您可以调用 ApplyImageUpload 接口获取文件上传地址和凭证。详细的参数说明可参见 ApplyImageUpload 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function ApplyImageUploadDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "WMK**UXe",
      // 一次上传会话 Key。
      // note:
      // 本接口上一次请求的SessionKey,可在重试时带上,作为服务端的再次选路时的一个参考。
      SessionKey: "eyJh**In0=",
      // 上传文件的数量,将决定下发的 StoreUri 的数量,取值范围为[1,10],默认为 1。
      UploadNum: 1,
      // 指定的上传文件路径。
      // * 指定Prefix时,下发的存储 Key 为:Prefix/{随机Key}{FileExtension},其中Prefix + FileExtension最大长度限制为 145 个字节。
      // * 不支持以/开头或结尾,不支持/连续出现。
      // note:
      // 仅当未指定StoreKeys时生效。
      Prefix: "a/b",
      // 文件扩展名(如:.java, .txt, .go 等),最大长度限制为 8 个字节。
      // note:
      // 仅当未指定StoreKeys时生效。
      FileExtension: "png",
      // 是否开启重名文件覆盖上传,取值如下所示:
      // <li> true:开启 </li>
      // <li> false:(默认)关闭 </li>
      // warning
      // 在指定 Overwrite 为 true 前,请确保您指定的 ServiceId 对应服务已[开启了覆盖上传](https://www.volcengine.com/docs/508/1119912)能力。
      Overwrite: false,
    };

    const res = await imagexService.ApplyImageUpload(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

确认上传并上报上传结果

您可以调用 CommitImageUpload 接口确认上传并上报上传结果。详细的参数说明可参见 CommitImageUpload 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function CommitImageUploadDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "WM***Xed",
      // 是否返回图片meta信息。默认 false。
      // * true:不返回图片 meta 信息。
      // * false:获取图片 meta 信息并返回对应 meta 信息。
      // * 其中若 meta 获取超时或失败,接口返回成功,但对应 meta 信息将为空。
      // * 如果强依赖 meta 请参考[图片Meta信息](https://www.volcengine.com/docs/508/64085)获取。
      SkipMeta: false,
    };

    const res = await imagexService.CommitImageUpload(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

删除服务下多个文件

您可以调用 DeleteImageUploadFiles 接口删除服务下多个文件。详细的参数说明可参见 DeleteImageUploadFiles 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function DeleteImageUploadFilesDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "8h**9q",
      // 文件 URI 列表,最多传 1000 个。您可以通过调用[获取服务下的上传文件](https://www.volcengine.com/docs/508/9392)来获取所需的文件 URI。
      StoreUris: ["uri1", "uri2"],
    };

    const res = await imagexService.DeleteImageUploadFiles(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

预览服务下的文件

您可以调用 PreviewImageUploadFile 接口预览服务下的文件。详细的参数说明可参见 PreviewImageUploadFile 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function PreviewImageUploadFileDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "8h**9q",
      // 文件 Uri。
      // <li> 您可以在 veImageX 控制台 [资源管理](https://console.volcengine.com/imagex/resource_manage/)页面,在已上传文件的名称列获取资源 Uri。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取Uri,具体请参考[文件上传完成上报](https://www.volcengine.com/docs/508/9398)。 </li>
      StoreUri: "uri1",
    };

    const res = await imagexService.PreviewImageUploadFile(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

列举服务下的文件

您可以调用 GetImageStorageFiles 接口列举服务下的文件。详细的参数说明可参见 GetImageStorageFiles 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function GetImageStorageFilesDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "8h**0o",
      // 上一次列举返回的位置标记,作为本次列举的起点信息。默认值为空。
      Marker: "eyJjIjowLCJrIjoiMDAwMDAyLmljbyJ9",
      // 一次查询列出的文件信息条目数,取值范围为[1,1000]。默认值为 10。
      Limit: 1000,
      // 指定需要查询文件的前缀,只有资源名匹配该前缀的文件会被列出。缺省时将返回所有文件信息。
      // 例如,一个存储服务中有三个文件,分别为 Example/imagex.png、Example/mov/a.avis 和 Example/mov/b.avis。若指定 Prefix 取值 Example/且指定 Delimiter 取值 /:则返回 Example/imagex.png,并在 CommonPrefix 里返回 Example/mov/。
      Prefix: "Example/",
      // 指定目录分隔符,默认值为 /。所有文件名字包含指定的前缀,第一次出现 Delimiter 字符之间的文件作为一组元素(即 CommonPrefixe)。
      Delimiter: "/",
    };

    const res = await imagexService.GetImageStorageFiles(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

更新资源封禁/解封状态

您可以调用 UpdateImageResourceStatus 接口更新资源封禁/解封状态。详细的参数说明可参见 UpdateImageResourceStatus 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function UpdateImageResourceStatusDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 指定配置资源封禁的服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[GetAllImageServices](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "serviceid",
      // 资源的封禁状态,取值如下所示:
      // <li> disable:禁用。禁用状态,您无法访问该资源。 </li>
      // <li> enable:启用。启用状态,您可正常访问该资源。 </li>
      Status: "disable/enable",
      // 待修改封禁状态的资源存储 Key(不携带 Bucket 信息),可在控制台资源管理页面查看。
      ObjectName: "demo1.png",
    };

    const res = await imagexService.UpdateImageResourceStatus(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

重命名文件

您可以调用 UpdateImageFileKey 接口重命名文件。详细的参数说明可参见 UpdateImageFileKey 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function UpdateImageFileKeyDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "8h**9q",
      // 源文件名
      OriKey: "bb6d0430d***7feac525023d52",
      // 重命名后的文件名
      DstKey: "image",
    };

    const res = await imagexService.UpdateImageFileKey(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

获取资源 URL

您可以调用 GetResourceURL 接口获取资源URL。详细的参数说明可参见 GetResourceURL 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function GetResourceURLDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
      serviceName: 'imagex'
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "8h**9q",
      // 域名。
      // 您可以通过调用 OpenAPI [获取服务下所有域名](https://www.volcengine.com/docs/508/9379)查看 domain 返回值。
      Domain: "example.test.com",
      // 图片资源 Uri。
      // 您可以通过调用 OpenAPI [获取文件上传成功信息](https://www.volcengine.com/docs/508/9398)查看 ImageUri 返回值。
      URI: "tos-i-xxxxx/test.png",
      // 模板名称。缺省情况下表示无模板处理图片。
      // 您可以通过调用 OpenAPI [获取服务下所有图片模板](https://www.volcengine.com/docs/508/9386)里查看 TemplateName 返回值。
      Tpl: "tplv-8h**9q-1-v**83",
      // 协议,默认为 http,隐私图片使用 https,公开图片支持取值 http 以及 https。
      Proto: "https",
      // 创建模板时设置的图片输出格式,默认为 iamge,支持取值有:
      // <li> image:表示输出原格式; </li>
      // <li> 静图格式:png、jpeg、heic、avif、webp; </li>
      // <li> 动图格式:awebp、heif、avis。 </li>
      Format: "image",
    };

    const res = await imagexService.GetResourceURL(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

获取服务下的上传文件

您可以调用 GetImageUploadFiles 接口获取服务下的上传文件。详细的参数说明可参见 GetImageUploadFiles 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function GetImageUploadFilesDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "8h**9q",
      // 获取文件个数,最大值为 100。
      Limit: 100,
      // 分页标志。
      Marker: 0,
    };

    const res = await imagexService.GetImageUploadFiles(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

获取服务下单个上传文件

您可以调用 GetImageUploadFile 接口获取服务下单个上传文件。详细的参数说明可参见 GetImageUploadFile 接口文档。
接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function GetImageUploadFileDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "uk**ok",
      // 文件 Uri。
      // <li> 您可以在 veImageX 控制台 [资源管理](https://console.volcengine.com/imagex/resource_manage/)页面,在已上传文件的名称列获取资源 Uri。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取Uri,具体请参考 [GetImageUploadFiles](https://www.volcengine.com/docs/508/9392)。 </li>
      StoreUri: "demo.png",
    };

    const res = await imagexService.GetImageUploadFile(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

最近更新时间:2025.06.06 16:30:07
这个页面对您有帮助吗?
有用
有用
无用
无用