跳到主要内容

存储

uploadFile#

1. 接口描述#

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

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

2. 输入参数#

字段类型必填说明
cloudPathString文件的绝对路径,包含文件名。例如 foo/bar.jpg、foo/bar/baz.jpg 等,不能包含除[0-9 , a-z , A-Z]、/、!、-、_、.、、*和中文以外的字符,使用 / 字符来实现类似传统文件系统的层级结构。查看详情
fileContentfs.ReadStreambuffer 或要上传的文件可读流

3. 返回结果#

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

4. 示例代码#

// 初始化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}

getTempFileURL#

1. 接口描述#

接口功能:获取文件 CDN 下载链接

接口声明:getTempFileURL(object: IGetTempFileURLOpts, opts: Object): Promise<Object>

2. 输入参数#

字段类型必填说明
objectIGetTempFileURLOpts获取下载链接请求参数
optsObject自定义配置,目前只支持超时时间设置,{timeout: number}
IGetTempFileURLOpts#
字段类型必填说明
fileList<Array>.string Or fileItem要下载的文件 ID 组成的数组
fileItem#
字段类型必填说明
fileIDstring文件 ID
maxAgenumber文件链接有效期

3. 返回结果#

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

4. 示例代码#

// 初始化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#

1. 接口描述#

接口功能:删除文件

接口声明:deleteFile(object: IDeleteFileOpts, opts: Object): Promise<Object>

2. 输入参数#

字段类型必填说明
objectIDeleteFileOpts删除文件请求参数
optsObject自定义配置,目前只支持超时时间设置,{timeout: number}
IDeleteFileOpts#
字段类型必填说明
fileList<Array>.string要删除的文件 ID 组成的数组

3. 返回结果#

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

4. 示例代码#

// 初始化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#

1. 接口描述#

接口功能:下载文件到本地

接口声明:downloadFile(object: IDownloadFileOpts, opts: Object): Promise<Object>

2. 输入参数#

字段类型必填说明
objectIDownloadFileOpts下载文件请求参数
optsObject自定义配置,目前只支持超时时间设置,{timeout: number}
IDownloadFileOpts#
字段类型必填说明
fileIDstring要下载的文件的 id
tempFilePathstring下载的文件要存储的位置

3. 返回结果#

字段类型必填说明
codestring状态码,操作成功则不返回
messagestring错误描述
fileContentbuffer下载的文件的内容。如果传入 tempFilePath 则不返回该字段
requestIdstring请求序列号,用于错误排查

4. 示例代码#

// 初始化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)}