云函数 Node.js SDK - 文件

优质
小牛编辑
132浏览
2023-12-01

实例化一个 BaaS.File 对象,以下操作都是在该对象上进行操作,如下进行实例化:

let MyFile = new BaaS.File()

获取文件详情

MyFile.get(fileID)

参数说明

参数类型必填说明
fileIDNumberY文件 id

返回参数说明

res.data:

参数类型说明
categoryObject包含文件分类信息,详见以下
cdn_pathString文件在 cdn 上的路径
created_atString文件上传时间
idObject文件 ID
mime_typeString文件媒体类型
nameString文件名
sizeNumber以字节为单位

category 参数说明:

参数类型说明
idNumber分类 ID
nameString分类名

示例代码

  1. let MyFile = new BaaS.File()
  2. MyFile.get('5a2fe93308443e313a428c4f').then(res => {
  3. // success
  4. }, err => {
  5. // err
  6. })

返回示例

  1. {
  2. category: {
  3. id: '5a2fe91508443e3123dbe1cb',
  4. name: '科技'
  5. },
  6. cdn_path: "1e2fVFaWoaoAZPyr.svg",
  7. created_at: 1507822469,
  8. id: "5a2fe93308443e313a428c4f",
  9. mime_type: "text/plain; charset=utf-8",
  10. name: "tmp_262601706o6zAJs-pmaywKzqHIvzwU97rtiGIe4dd39171563993cf10b12bae2ac30ec.svg",
  11. size: 3879
  12. }

删除文件

MyFile.delete(fileID)

参数说明

参数类型必填说明
fileIDNumber or Number ArrayY文件 id (可为数组)

示例代码

  1. let MyFile = new BaaS.File()
  2. MyFile.delete('5a2fe93308443e313a428c4f').then()
  3. MyFile.delete(['5a2fe93308443e313a428c4c', '5a2fe93308443e313a428c4d']).then()

info
删除单个文件,如果权限不足,会返回 401;删除多个文件,如果权限不足,则直接跳过该文件

上传文件

MyFile.upload(uploadFile, fileMeta)

参数说明

参数类型必填说明默认值
uploadFileString or BufferY需要上传的文件
fileMetaObjectN文件 meta 信息,如文件名,分类 ID 等FileMeta对象

FileMeta对象说明

字段名类型必填说明默认值
category_idStringN文件分类 ID‘’
filenameStringN文件名file.bin
filepathStringN文件路径/tmp/file.bin
contentTypeStringN文件 MIME 类型application/octet-stream

示例代码

  1. let MyFile = new BaaS.File()
  2. // 指定文件名上传
  3. MyFile.upload('/var/log/test.log').then()
  4. // 使用 Buffer 构建文件内容
  5. MyFile.upload(Buffer.from('this is file content'), {filename: 'test.txt'}).then()
  6. // 上传到指定目录
  7. MyFile.upload('/var/log/test.log', {category_id: 1}).then()