阅读本文,您可以获取 Node.js SDK 上传资源的接口调用示例,实现快速开发。
本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
调用接口前,请先完成 Node.js SDK 的安装及初始化操作。
若服务内已经存在同名文件,且您开启了重名覆盖上传,则新上传文件在上传路径及文件名重复时将覆盖同名旧文件。若未开启重名覆盖上传,则新文件上传失败。
通过指定服务 ID 和上传文件,来获取上传成功的资源 URI。
该接口内部依次调用了 ApplyImageUpload 和 CommitImageUpload 两个 OpenAPI 来实现完整文件上传能力。
接口调用示例如下所示。
const uploadImages = async () => { try { // 支持分别传入 ApplyImageUpload 和 CommitImageUpload 的参数 const res = await imagexService.UploadImages( { ApplyParams: { ServiceId: "your service id", // 服务 ID StoreKeys: ["category/example1.jpg", "category/example2.png"], // 自定义上传文件的存储 Key。不传则默认使用随机生成的字符串作为存储 Key。 Overwrite: false, // 是否进行上传覆盖 }, // 开启 AIGC 标记上传 EnableAIGCMark: true, // 设置 AIGC 元数据(数组格式,与 Go SDK 对齐) AIGCMetaData: [ { Label: "1", // AIGC 标签 ContentProducer: "PRODUCERIDALPHA27CHARSXYZAB", // 内容生产者标识 ProduceID: "prod-20260506-0001", // 内容生产 ID ReservedCode1: "reserved-code-1", // 预留字段 1 ContentPropagator: "PROPAGATORALPHA27CHARSXYZAB", // 内容传播者标识 PropagateID: "prop-20260506-0001", // 内容传播 ID ReservedCode2: "reserved-code-2", // 预留字段 2 }, ], // 可选参数 // ContentTypes: ["image/jpeg"], // 指定 Content-Type // StorageClasses: ["STANDARD"], // 指定存储类型 }, // 支持指定 CommitParams 参数, 一般不用传 // CommitParams: { // ServiceId: "xxx", // SessionKey: "xxx", // }, }, // 需要上传的本地文件路径,一次上传文件的数量不能大于 10 ["your image path1", "your image path2"], true // 是否启用分片上传(enableChunkUpload),默认为 false,设置为 true 时,对于满足条件的文件会使用分片上传 ); // do your work // ... } catch (err) { console.error(err); } };