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 | 错误信息 |
代码示例
const cloud = require('swan-server-sdk')const path = require('path')const fs = require('fs')const util = require('util')exports.main = async (event, context) => {cloud.init(context)const filePath = path.join(__dirname, 'demo.jpg');const fileStream = fs.createReadStream(filePath);const fileStats = await util.promisify(fs.stat)(filePath)const res = await cloud.storage().uploadFile({cloudPath: 'photo/demo.jpg',fileContent: fileStream,contentType: 'image/jpeg',contentLength: fileStats.size})return res.fileID}
cloud.downloadFile
下载云存储文件
参数
| 名称 | 类型 | 必须 | 说明 |
|---|---|---|---|
| option | Object | 是 | |
| option.fileID | String | 是 | 文件ID |
返回值Promise
resolve 参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| requestID | String | 请求ID |
| fileContent | buffer | 文件内容 |
reject 参数:
| 名称 | 类型 | 说明 |
|---|---|---|
| code | String | 错误码 |
| message | String | 错误信息 |
代码示例
const cloud = require('swan-server-sdk')exports.main = async (event, context) => {cloud.init(context)const res = await cloud.downloadFile({fileID: 'file-id-01',})return res.fileContent}
cloud.getTempFileURL
获取云存储文件的临时访问连接,有效期1小时
参数
| 名称 | 类型 | 必须 | 说明 |
|---|---|---|---|
| option | Object | 是 | |
| option.fileID | String | 是 | 文件ID |
返回值Promise
resolve 结果:
| 名称 | 类型 | 说明 |
|---|---|---|
| requestID | String | 请求ID |
| tempFileURL | String | 文件临时访问连接 |
reject 结果:
| 名称 | 类型 | 说明 |
|---|---|---|
| code | String | 错误码 |
| message | String | 错误信息 |
代码示例
const cloud = require('swan-server-sdk')exports.main = async (event, context) => {cloud.init(context)const res = await cloud.getTempFileURL({fileID: 'file-id-01',})return res.tempFileURL}
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 | 错误信息 |
代码示例
const cloud = require('swan-server-sdk')exports.main = async (event, context) => {cloud.init(context)const res = await cloud.deleteFile({fileList: ['file-id-01', 'file-id-02'],})return res.fileList}
