文件存储
#
uploadFile#
1. 接口描述接口功能:上传文件到文件管理服务
接口声明:uploadFile(object: Object): Promise<Object>
提示
1.0.1 版本后,为了提高文件上传性能,文件上传方式修改为直接上传到对象存储,为了防止在使用过程中出现 CORS 报错,需要到 云开发控制台 用户管理>登录设置>安全域名 版块添加域名。如果已有域名出现 CORS 报错,请删除安全域名,重新添加。
#
2. 输入参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
cloudPath | string | 是 | 文件的绝对路径,包含文件名 |
filePath | HTML upload file | 是 | 要上传的文件对象 |
onUploadProgress | function | 否 | 上传进度回调 |
提示
cloudPath
为文件的绝对路径,包含文件名 foo/bar.jpg、foo/bar/baz.jpg 等,不能包含除[0-9 , a-z , A-Z]、/、!、-、_、.、、*和中文以外的字符,使用 / 字符来实现类似传统文件系统的层级结构。查看详情
#
3. 输出参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
code | string | 否 | 状态码,操作成功则不返回 |
message | string | 否 | 错误描述 |
fileID | fileID | 是 | 文件唯一 ID,用来访问文件,建议存储起来 |
requestId | string | 否 | 请求序列号,用于错误排查 |
#
4. 示例代码import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({ env: "xxxx-yyy"});
app .uploadFile({ cloudPath: "test-admin.jpeg", filePath: document.getElementById("file").files[0], onUploadProgress: function (progressEvent) { console.log(progressEvent); var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total); } }) .then((result) => { // 上传结果 });
#
getTempFileURL#
1. 接口描述接口功能:获取文件 CDN 下载链接
接口声明:getTempFileURL(object: Object): Promise<Object>
#
2. 输入参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
fileList | <Array>.string | 是 | 要下载的文件 ID 组成的数组 |
#
fileList字段 | 类型 | 必填 | 说明 |
---|---|---|---|
fileID | string | 是 | 文件 ID |
maxAge | Integer | 是 | 文件链接有效期 |
#
3. 输出参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
code | string | 否 | 状态码,操作成功则为 SUCCESS |
message | string | 否 | 错误描述 |
fileList | <Array>.object | 否 | 存储下载链接的数组 |
requestId | string | 否 | 请求序列号,用于错误排查 |
#
fileList字段 | 类型 | 必填 | 说明 |
---|---|---|---|
code | string | 否 | 删除结果,成功为 SUCCESS |
message | string | 否 | 错误描述 |
fileID | string | 是 | 文件 ID |
tempFileURL | string | 是 | 文件访问链接 |
#
4. 示例代码//初始化SDK实例部分代码如上app .getTempFileURL({ fileList: ["cloud://jimmytest-088bef.jimmytest-088bef-1251059088/a|b测试.jpeg"] }) .then((res) => { res.fileList.forEach((el) => { if (el.code === "SUCCESS") { console.log(el.tempFileURL); } else { //获取下载链接失败 } }); });
#
deleteFile#
1. 接口描述接口功能:删除文件
接口声明:deleteFile(object: Object): Promise<Object>
#
2. 输入参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
fileList | <Array>.string | 是 | 要删除的文件 ID 组成的数组 |
#
3. 输出参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
code | string | 否 | 状态码,操作成功则不返回 |
message | string | 否 | 错误描述 |
fileList | <Array>.object | 否 | 删除结果组成的数组 |
requestId | string | 否 | 请求序列号,用于错误排查 |
#
fileList字段 | 类型 | 必填 | 说明 |
---|---|---|---|
code | string | 否 | 删除结果,成功为 SUCCESS |
fileID | string | 是 | 文件 ID |
#
4. 示例代码app .deleteFile({ fileList: ["cloud://jimmytest-088bef/1534576354877.jpg"] }) .then((res) => { res.fileList.forEach((el) => { if (el.code === "SUCCESS") { //删除成功 } else { } }); });
#
downloadFile#
1. 接口描述接口功能:下载文件到本地
接口声明:downloadFile(object: Object): Promise<Object>
#
2. 输入参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
fileID | string | 是 | 要下载的文件的 id |
#
3. 输出参数字段 | 类型 | 必填 | 说明 |
---|---|---|---|
code | string | 否 | 状态码,操作成功则不返回 |
message | string | 否 | 错误描述 |
requestId | string | 否 | 请求序列号,用于错误排查 |
#
4. 示例代码cloudbase .downloadFile({ fileID: "cloud://aa-99j9f/my-photo.png" }) .then((res) => {});