SDK 管理文件
CloudBase 云存储提供了完整的文件管理功能,包括上传、下载、删除、复制文件以及获取临时链接等操作。本文将详细介绍如何使用这些功能
PG 模式
SDK 调用方式与传统模式完全一致,但底层链路改走 Storage API(不再客户端直传 COS),权限由 RLS 控制。如需了解差异,参见 PG 模式云存储 - 概述;服务端 / 跨语言调用见 HTTP API。
| SDK 类型 | 适用平台 |
|---|---|
| 小程序 SDK | 小程序 |
| JS SDK | Web 浏览器 |
| Node SDK | Node.js 环境 |
| HTTP API(传统模式) | 通用 |
| HTTP API(PG 模式) | 通用 |
上传文件
您可以上传任意数量、格式的文件至 CloudBase 云存储,也可以自定义文件、目录的路径和名字。
默认情况下,只有通过了 CloudBase 身份验证 的用户才可以向云存储空间上传/删除文件,因此在用户端上传文件时需先进行登录认证。
提示
您也可以使用 自定义安全规则,为云存储设置更宽松或更严格的读写权限。
使用 SDK 可以向云存储空间上传文件,并返回该文件全局唯一标识 fileID。
- JS SDK
- 微信小程序 SDK
- Node.js SDK
- HTTP API
import tcb from "@cloudbase/js-sdk";
const app = tcb.init({
env: "your-env-id",
});
app
.uploadFile({
// 云存储的路径
cloudPath: "dirname/filename",
// 需要上传的文件,File 类型
filePath: document.getElementById("file").files[0],
})
.then((res) => {
// 返回文件 ID
console.log(res.fileID);
});
wx.cloud
.uploadFile({
cloudPath: "example.png", // 上传至云端的路径
filePath: "", // 小程序临时文件路径,需结合小程序相关 API 获取
})
.then((res) => {
// 返回文件 ID
console.log(res.fileID);
});
const tcb = require("@cloudbase/node-sdk");
const fs = require("fs");
const app = tcb.init();
app
.uploadFile({
cloudPath: "path/test.jpg",
fileContent: fs.createReadStream("test.jpg"),
})
.then((res) => {
// 返回文件 ID
console.log(res.fileID);
});
# 第一步:获取上传信息
curl -L 'https://your-envId.api.tcloudbasegateway.com/v1/storages/get-objects-upload-info' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '[
{
"objectId": "dirname/filename"
}
]'
# 第二步:使用返回的上传信息上传文件
curl -X PUT '<uploadUrl>' \
-H 'Authorization: <authorization>' \
-H 'X-Cos-Security-Token: <token>' \
-H 'X-Cos-Meta-Fileid: <cloudObjectMeta>' \
--data-binary @your-file