文件存储
getUploadMetaData
1. API 描述
功能:获取文件上传属性
2. 请求地址
POST https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/storages:getUploadMetaData
3. 请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | String | 是 | 指定的云端文件路径 |
4. 响应体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| statusCode | Number | 是 | 状态码,200 |
| body | Object | 是 | 响应体,结构如下 |
body
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| requestId | String | 否 | 请求 ID |
| data | Object | 否 | 返回结果 |
| code | String | 否 | 错误码 |
| message | String | 否 | 错误信息 |
data
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | String | 是 | 上传 url |
| token | String | 是 | token 字段,上传请求用 |
| authorization | String | 是 | authorization 字段,上传请求用 |
| fileID | String | 是 | 文件 ID |
| cosFileID | String | 是 | cos 文件 ID |
5. 使用示例
// Node 示例
const axios = require("axios"); // 请求库,需npm 安装依赖
const FormData = require('form-data'); // 表单库,用于构造HTTP请求的表单数据
const envId = "<envId>"; // 环境ID
const cloudPath = "<cloudPath>" // 云端路径
const fs = require('fs')
const fileStream = fs.createReadStream('<localFile>') // 本地文件
axios({
url: `https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/storages:getUploadMetaData`,
method: "POST",
headers: {
"X-CloudBase-Authorization": "your authorization",
"X-CloudBase-SessionToken": "your token",
"X-CloudBase-TimeStamp": "the timestamp",
},
data: {
path: cloudPath,
},
}).then(response => {
// 获取到元数据后,使用元数据内的信息,上传文件到云存储
const { authorization, token, cosFileID, url } = response.data.data;
const form = new FormData();
form.append("Signature", authorization);
form.append("x-cos-security-token", token);
form.append("x-cos-meta-fileid", cosFileID);
form.append("key", cloudPath);
form.append("file", fileStream);
return axios.post(url, form, { headers: form.getHeaders() });
});
batchGetTempUrls
1. API 描述
功能:获取文件下载链接
2. 请求地址
POST https://tcb-api.tencentcloudapi.com/api/v2/envs/${envId}/storages:batchGetTempUrls
3. 请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fileList | Array<FileItem> | 是 | 文件信息数组 |
FileItem
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fileID | String | 是 | 文件 ID |
| maxAge | Number | 否 | 文件链接有效期 |
4. 响应体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| statusCode | Number | 是 | 状态码,200 |
| body | Object | 是 | 响应体,结构如下 |
body
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| requestId | String | 否 | 请求 ID |
| data | Object | 否 | 返回结果 |
| code | String | 否 | 错误码 |
| message | String | 否 | 错误信息 |
data
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fileList | Array<DownloadFileItem> | 是 | 文件下载信息列表 |
DownloadFileItem
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| fileID | String | 是 | 下载的文件 ID |
| code | String | 是 | SUCCESS 表示成功 |
| tempFileURL | String | 是 | 文件下载链接 |