本文为您提供了服务端 Node.js SDK 媒资上传模块相关的 API 调用示例。
设置 AK/SK 和地域,具体可参考初始化。
可在应用服务端通过 AK 和 SK 在本地签出临时上传 Token,不依赖外网。如希望同时生成多个临时上传 Token,您可以循环调用生成方法。临时上传 Token 用于客户端上传,详见客户端上传。
// 可设置临时密钥过期时间(单位为毫秒),默认为 1h。 vodOpenapiService.GetUploadToken(); // 如下示例设置临时上传凭证过期时间为 30min。 vodOpenapiService.GetUploadToken(30 * 60 * 1000);
说明
由于 AK/SK 信息存放在客户端有泄漏风险,在客户端上传的过程中,通常需要服务端配合生成上传签名或凭证,下发给客户端。
视频点播目前支持以下两个版本的获取上传地址和凭证和确认上传接口:
接口请求参数和返回参数详见 OpenAPI:获取上传地址和凭证及确认上传。
注意
版本号为 2022-01-01 时,上传文件必须携带文件后缀。例如,如需上传 MP4 文件,携带 .mp4
或 .MP4
。
const uploadMedia = async () => { try { const options = { SpaceName: "your target space name", // 空间名 FilePath: "your file path", // 绝对路径 FileName: "your target storage path", // 文件路径(可选)。您可根据业务需求自定义文件路径。设置 FileName, 当 FileName 相同时,有文件覆盖的风险;需要保证 FileName 不同。 FileExtension: "your file extension", // 文件后缀(可选)。以.开头,不超过 8 位。当您传入 FileExtension 时,不需要重复传入FileName 参数,视频点播将生成 32 位随机字符串,和您传入的 FileExtension 共同拼接成文件路径。 Functions: JSON.stringify([ { Name: "GetMeta" }, { Name: "Snapshot", Input: { SnapshotTime: 2.3, }, }, ]), CallbackArgs: "your callbackArgs" }; const res = await vodOpenapiService.UploadMedia(options); // do your work // ... } catch (err) { console.log(err); } };
视频点播目前支持以下两个版本的获取上传地址和凭证和确认上传接口:
接口请求参数和返回参数详见 OpenAPI:获取上传地址和凭证及确认上传。
注意
版本号为 2022-01-01 时,上传文件必须携带文件后缀。例如,如需上传 MP4 文件,携带 .mp4
或 .MP4
。
const uploadMaterial = async () => { try { const options = { SpaceName: "your target space name", // 空间名 FilePath: "your local file path", // 目标文件的绝对路径 FileName: "your target storage path", // 文件路径(可选)。您可根据业务需求自定义文件路径 FileExtension: "your file extension", // 文件后缀(可选)。以 . 开头,不超过 8 位。当您传入 FileExtension 时,不需要重复传入 FileName 参数,视频点播将生成 32 位随机字符串,和您传入的 FileExtension 共同拼接成文件路径。 FileType: "your file type", Functions: JSON.stringify([ { Name: "GetMeta" }, { Name: "AddOptionInfo", Input: { Title: "素材测试名称", Tags: "test", Description: "素材测试,视频文件", Category: "video", Format: "MP4", RecordType: 2, }, }, ]), CallbackArgs: "your callbackArgs" }; const res = await vodOpenapiService.UploadMaterial(options); // do your work // ... } catch (err) { console.log(err); } };
接口请求参数和返回参数详见 OpenAPI:URL批量拉取上传。
const uploadMediaByUrl = async () => { try { const options = { SpaceName: "your space name", URLSets: [ { SourceUrl: "http://demourl/test1.mp4", FileName: "movie/test1.mp4", // 文件路径(可选)。设置 FileName, 当 FileName 相同时,有文件覆盖的风险;需要保证 FileName 不同。 FileExtension: ".mp4", // 文件后缀(可选)。以 . 开头,不超过 8 位。当您传入 FileExtension 时,不需要重复传入 FileName 参数,视频点播将生成 32 位随机字符串,和您传入的 FileExtension 共同拼接成文件路径。 }, { SourceUrl: "http://demourl/test2.mp4", FileName: "cartoon/test1.mp4", }, ], }; const res = await vodOpenapiService.UploadMediaByUrl(options); // do your work // ... } catch (err) { console.log(err); } };
接口请求参数和返回参数详见 OpenAPI:查询 URL 批量上传任务状态。
const queryUploadTaskInfo = async () => { try { const options = { JobIds: "your job ids" }; const res = await vodOpenapiService.QueryUploadTaskInfo(options); // do your work // ... } catch (err) { console.log(err); } };