跳到主要内容

文件存储

uploadFile

1. 接口描述

接口功能:上传文件到文件管理服务

接口声明:uploadFile(object: Object): Promise<Object>

提示

1.0.1 版本后,为了提高文件上传性能,文件上传方式修改为直接上传到对象存储,为了防止在使用过程中出现 CORS 报错,需要到 云开发控制台 用户管理>登录设置>安全域名 版块添加域名。如果已有域名出现 CORS 报错,请删除安全域名,重新添加。

2. 输入参数

字段类型必填说明
cloudPathstring文件的绝对路径,包含文件名
filePathHTML upload file要上传的文件对象
onUploadProgressfunction上传进度回调
提示

cloudPath 为文件的绝对路径,包含文件名 foo/bar.jpg、foo/bar/baz.jpg 等,不能包含除[0-9 , a-z , A-Z]、/、!、-、_、.、、*和中文以外的字符,使用 / 字符来实现类似传统文件系统的层级结构。查看详情

3. 输出参数

字段类型必填说明
codestring状态码,操作成功则不返回
messagestring错误描述
fileIDfileID文件唯一 ID,用来访问文件,建议存储起来
requestIdstring请求序列号,用于错误排查

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
字段类型必填说明
fileIDstring文件 ID
maxAgeInteger文件链接有效期

3. 输出参数

字段类型必填说明
codestring状态码,操作成功则为 SUCCESS
messagestring错误描述
fileList<Array>.object存储下载链接的数组
requestIdstring请求序列号,用于错误排查
fileList
字段类型必填说明
codestring删除结果,成功为 SUCCESS
messagestring错误描述
fileIDstring文件 ID
tempFileURLstring文件访问链接

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. 输出参数

字段类型必填说明
codestring状态码,操作成功则不返回
messagestring错误描述
fileList<Array>.object删除结果组成的数组
requestIdstring请求序列号,用于错误排查

fileList

字段类型必填说明
codestring删除结果,成功为 SUCCESS
fileIDstring文件 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. 输入参数

字段类型必填说明
fileIDstring要下载的文件的 id

3. 输出参数

字段类型必填说明
codestring状态码,操作成功则不返回
messagestring错误描述
requestIdstring请求序列号,用于错误排查

4. 示例代码

cloudbase
.downloadFile({
fileID: "cloud://aa-99j9f/my-photo.png"
})
.then((res) => {});