title: 云存储 header: develop nav: cloud

sidebar: cloud_server_sdk_storage

cloud.uploadFile

上传文件到云存储空间

参数

名称 类型 必须 说明
option Object
option.cloudPath String 云存储文件存储路径
option.fileContent Buffer/ReadableStream 文件内容
option.contentType String 文件 Conetent-Type
option.contentLength String 文件:Content-Length

返回值Promise

resolve 结果:

名称 类型 说明
requestID String 请求ID
fileID String 文件ID
statusCode Number 云存储服务器返回状态码

reject 结果:

名称 类型 说明
code String 错误码
message String 错误信息

代码示例

  1. const cloud = require('swan-server-sdk')
  2. const path = require('path')
  3. const fs = require('fs')
  4. const util = require('util')
  5. exports.main = async (event, context) => {
  6. cloud.init(context)
  7. const filePath = path.join(__dirname, 'demo.jpg');
  8. const fileStream = fs.createReadStream(filePath);
  9. const fileStats = await util.promisify(fs.stat)(filePath)
  10. const res = await cloud.storage().uploadFile({
  11. cloudPath: 'photo/demo.jpg',
  12. fileContent: fileStream,
  13. contentType: 'image/jpeg',
  14. contentLength: fileStats.size
  15. })
  16. return res.fileID
  17. }

cloud.downloadFile

下载云存储文件

参数

名称 类型 必须 说明
option Object
option.fileID String 文件ID

返回值Promise

resolve 参数:

名称 类型 说明
requestID String 请求ID
fileContent buffer 文件内容

reject 参数:

名称 类型 说明
code String 错误码
message String 错误信息

代码示例

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const res = await cloud.downloadFile({
  5. fileID: 'file-id-01',
  6. })
  7. return res.fileContent
  8. }

cloud.getTempFileURL

获取云存储文件的临时访问连接,有效期1小时

参数

名称 类型 必须 说明
option Object
option.fileID String 文件ID

返回值Promise

resolve 结果:

名称 类型 说明
requestID String 请求ID
tempFileURL String 文件临时访问连接

reject 结果:

名称 类型 说明
code String 错误码
message String 错误信息

代码示例

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const res = await cloud.getTempFileURL({
  5. fileID: 'file-id-01',
  6. })
  7. return res.tempFileURL
  8. }

cloud.deleteFile

删除云存储文件,可以批量删除,一次最多删除200个

参数

名称 类型 必须 说明
option Object
option.fileList String[] 待删除文件ID列表

返回值Promise

resolve 结果:

名称 类型 说明
requestID String 请求ID
fileList fileDeleteResult[] 删除结果列表

fileDeleteResult 删除结果:

名称 类型 说明
fileID String 文件ID
status 状态,0:删除成功 Number
errMsg 删除失败,错误信息 String
errCode 删除失败,错误码 String

reject 结果:

名称 类型 说明
code String 错误码
message String 错误信息

代码示例

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const res = await cloud.deleteFile({
  5. fileList: ['file-id-01', 'file-id-02'],
  6. })
  7. return res.fileList
  8. }