跳到主要内容

存储并加速分发
任意文件

上传图片、文档、音视频等非结构化数据,用安全规则或 RLS 控制访问,再通过 CDN、图片处理和签名链接完成分发。

storage / assetscdn enabled
public-assets
objecttype · sizeaccess
images/launch-cover.webpimage · 428 KBpublic
avatars/usr_8f31.pngimage · 86 KBrls
reports/2026-07.pdfpdf · 1.8 MBsigned
videos/product-tour.mp4video · 24 MBcdn
delivery

CDN 加速

缓存策略 · 自定义域名

transform

图片处理

缩放 · 裁剪 · 格式转换

security

内容审核

图片 · 视频 · 文本

一条链路完成上传、鉴权与分发

应用只关心对象与路径,CloudBase 在访问入口统一执行权限策略,并按公开或私有场景交付文件。

object delivery flowpolicy passed
01 · Upload

SDK 上传对象

Bucket · 对象路径 · 元数据

02 · Authorize

校验访问策略

安全规则或 PostgreSQL RLS

03 · Deliver

按场景分发

CDN · 公开地址 · 签名链接

stageresourcestate
object.writeavatars/usr_8f31.pngaccepted
policy.selectauth.uid() = owner_idpassed
edge.cacheimage/webpready

从对象管理,到安全交付

覆盖文件生命周期中最常用的存储、处理、权限与分发原语。

01

CDN 加速

静态文件通过 CDN 缓存与分发,公开 Bucket 还可以结合自定义域名配置访问入口。

DELIVERY
02

图片处理

通过数据万象参数完成缩放、裁剪、旋转、格式转换与质量控制,无需预生成每一种尺寸。

IMAGE MOGR2
03

两种权限模型

标准模式使用文件级安全规则;PG 模式使用 storage.objects 与 storage.buckets 上的 RLS Policy。

RULES / RLS
04

签名访问链接

Private Bucket 可以为指定对象生成限时链接,并为下载场景指定文件名。

SIGNED URL
05

Bucket 与对象管理

上传、下载、列出、复制、移动和删除对象,按 Bucket 与路径组织业务文件。

OBJECT API
06

内容审核

借助数据万象为图片、视频、音频、文本与文档配置内容审核流程。

MODERATION
存储的终点不是‘上传成功’,而是让正确的人,在正确的时间,以正确的方式拿到文件。
产品设计原则

公开资源走 CDN,私有文件走签名链接

根据 Bucket 与业务场景选择访问方式;权限判断始终发生在分发之前。

查看访问与下载
DELIVERY POLICY
publicCDN 公开分发
private限时签名链接
transform图片按需处理
guard安全规则 / RLS

用真实 SDK 管理对象与访问方式

示例来自仓库现有 SDK 与图片处理文档,产品范围以当前文档为准。

向指定 Bucket 上传业务文件

PG 模式通过 app.storage.from(bucketId) 获得对象客户端,路径始终相对于 Bucket。

  • 可设置 contentType 与自定义元数据
  • upsert 用于覆盖同路径对象
  • 写入操作受对应 RLS Policy 约束
upload-avatar.js
import cloudbase from '@cloudbase/js-sdk'

const app = cloudbase.init({ env: '<envId>' })
const bucket = app.storage.from('avatars')

const { data, error } = await bucket.upload(
  `${user.id}/avatar.png`,
  file,
  {
    contentType: 'image/png',
    upsert: true,
    metadata: { usage: 'avatar' }
  }
)

if (error) throw error

为私有文件生成限时链接

签名链接把下载能力限制在指定对象和有效期内,适合账单、报告与用户附件。

  • 有效期以秒为单位
  • 生成链接需要对象 SELECT 权限
  • 可指定浏览器下载文件名
signed-download.js
const bucket = app.storage.from('private-files')

const { data, error } =
  await bucket.createSignedUrl(
    `${user.id}/report.pdf`,
    600,
    { download: 'report.pdf' }
  )

if (error) throw error
window.location.assign(data.signedUrl)

请求图片时再决定尺寸与格式

在图片地址后附加数据万象处理参数,组合缩放、格式转换与质量控制。

  • 按宽高约束生成缩略图
  • 可转 WebP、AVIF 等格式
  • 能力与费用以数据万象配置为准
responsive-image.js
const source =
  'https://<domain>/images/cover.jpg'

const thumbnail =
  source +
  '?imageMogr2/thumbnail/640x640' +
  '/format/webp/rquality/80'

// 在请求时按需缩放、转格式与控制质量
image.src = thumbnail

文件能力连接应用的每个交付入口

同一份对象数据可以进入 Web、小程序、服务端与内容处理链路。

01

应用文件

头像、附件、报告与用户生成内容。

02

站点资源

图片、脚本、下载包与静态媒体。

03

内容处理

图片处理、文档预览与内容审核。

Web SDK小程序 SDKBucket安全规则PostgreSQL RLSCDN自定义域名签名链接数据万象内容审核

把文件存储、权限与交付放进同一条链路

创建 Bucket,选择权限模型,再从第一个上传接口开始。