接口功能:上传文件到文件管理服务
接口声明:uploadFile(object: Object): Promise<Object>
字段 |
类型 |
必填 |
说明 |
cloudPath |
String |
是 |
文件的绝对路径,包含文件名。例如 foo/bar.jpg、foo/bar/baz.jpg 等,不能包含除[0-9 , a-z , A-Z]、/、!、-、_、.、、*和中文以外的字符,使用 / 字符来实现类似传统文件系统的层级结构。查看详情 |
fileContent |
fs.ReadStream |
是 |
buffer 或要上传的文件可读流 |
字段 |
类型 |
必填 |
说明 |
fileID |
string |
否 |
文件唯一 ID,用来访问文件,建议存储起来 |
requestId |
string |
是 |
请求序列号,用于错误排查 |
code |
string |
否 |
状态码,操作成功则不返回 |
message |
string |
否 |
错误描述,操作成功则不返回 |
// 初始化
const tcb = require('@cloudbase/node-sdk')
const fs = require('fs')
const app = tcb.init({
env: 'xxx'
})
exports.main = async (event, context) => {
const result = await app.uploadFile({
cloudPath: 'test-admin.jpeg',
fileContent: fs.createReadStream(`${__dirname}/cos.jpeg`)
})
console.log(result.fileID) // 输出文件ID
}
接口功能:获取文件 CDN 下载链接
接口声明:getTempFileURL(object: IGetTempFileURLOpts, opts: Object): Promise<Object>
字段 |
类型 |
必填 |
说明 |
object |
IGetTempFileURLOpts |
是 |
获取下载链接请求参数 |
opts |
Object |
否 |
自定义配置,目前只支持超时时间设置,{timeout: number} |
字段 |
类型 |
必填 |
说明 |
fileList |
<Array>.string Or fileItem |
是 |
要下载的文件 ID 组成的数组 |
字段 |
类型 |
必填 |
说明 |
fileID |
string |
是 |
文件 ID |
maxAge |
number |
是 |
文件链接有效期 |
字段 |
类型 |
必填 |
说明 |
fileList |
<Array>.fileUrlItem |
否 |
存储下载链接的数组 |
requestId |
string |
是 |
请求序列号,用于错误排查 |
code |
string |
否 |
状态码,操作成功则为 SUCCESS |
message |
string |
否 |
错误描述 |
字段 |
类型 |
必填 |
说明 |
code |
string |
否 |
删除结果,成功为 SUCCESS |
fileID |
string |
是 |
文件 ID |
tempFileURL |
string |
是 |
文件访问链接 |
// 初始化
const tcb = require('@cloudbase/node-sdk')
const app = tcb.init({
env: 'xxx'
})
exports.main = async (event, context) => {
const result = await app.getTempFileURL({
fileList: ['cloud://test-28farb/a.png']
})
result.fileList.forEach(item => {
console.log(item.tempFileURL) // 打印文件访问链接
})
}
接口功能:删除文件
接口声明:deleteFile(object: IDeleteFileOpts, opts: Object): Promise<Object>
字段 |
类型 |
必填 |
说明 |
object |
IDeleteFileOpts |
是 |
删除文件请求参数 |
opts |
Object |
否 |
自定义配置,目前只支持超时时间设置,{timeout: number} |
字段 |
类型 |
必填 |
说明 |
fileList |
<Array>.string |
是 |
要删除的文件 ID 组成的数组 |
字段 |
类型 |
必填 |
说明 |
code |
string |
否 |
状态码,操作成功则不返回 |
message |
string |
否 |
错误描述 |
fileList |
<Array>.deleteFileItem |
否 |
删除结果组成的数组 |
requestId |
string |
是 |
请求序列号,用于错误排查 |
字段 |
类型 |
必填 |
说明 |
code |
string |
否 |
删除结果,成功为 SUCCESS |
fileID |
string |
是 |
文件 ID |
// 初始化
const tcb = require('@cloudbase/node-sdk')
const app = tcb.init({
env: 'xxx'
})
exports.main = async (event, context) => {
const result = await app.deleteFile({
fileList: ['HHOeahVQ0fRTDsums4GVgMCsF6CE3wb7kmIkZbX+yilTJE4NPSQQW5EYks']
})
result.fileList.forEach(item => {
if (item.code === 'SUCCESS') {
// 文件删除成功
}
})
}
接口功能:下载文件到本地
接口声明:downloadFile(object: IDownloadFileOpts, opts: Object): Promise<Object>
字段 |
类型 |
必填 |
说明 |
object |
IDownloadFileOpts |
是 |
下载文件请求参数 |
opts |
Object |
否 |
自定义配置,目前只支持超时时间设置,{timeout: number} |
字段 |
类型 |
必填 |
说明 |
fileID |
string |
是 |
要下载的文件的 id |
tempFilePath |
string |
否 |
下载的文件要存储的位置 |
字段 |
类型 |
必填 |
说明 |
code |
string |
否 |
状态码,操作成功则不返回 |
message |
string |
否 |
错误描述 |
fileContent |
buffer |
否 |
下载的文件的内容。如果传入 tempFilePath 则不返回该字段 |
requestId |
string |
是 |
请求序列号,用于错误排查 |
// 初始化
const tcb = require('@cloudbase/node-sdk')
const app = tcb.init({
env: 'xxx'
})
exports.main = async (event, context) => {
const result = await app.downloadFile({
fileID: 'cloud://aa-99j9f/my-photo.png'
// tempFilePath: '/tmp/test/storage/my-photo.png'
})
// 未传入tempFilePath 可打印fileContent, 传入则进入对应目录查看文件
console.log(result.fileContent)
}