ReboFiles文档
开始3
什么是 ReboFiles
快速开始
可运行的演示
集成到你的应用6
React 组件
Headless:你自己的界面
不使用框架
样式与主题
键盘与无障碍
语言
文件9
上传
预览与查看器
搜索
实时更改与大文件夹
评论
星标与字段
版本、回收站与空间
打包下载 .zip
Word 文档
服务器14
路由
框架与登录
谁可以做什么
存储:S3、GCS、Azure 与磁盘
检查上传
元数据:SQLite 与 Postgres
数据库结构
共享与链接
动态与通知
钩子、日志与限制
保留、法律保留与导出
桌面端与其他来源
同步文件夹
上线生产环境
协作1
AI 助手(MCP)
参考5
包
组件与 hooks
客户端 API
HTTP 路由
状态与路线图
↑↓ 移动↵ 打开Esc 关闭38 个页面

服务器 保留、法律保留与导出

保留、法律保留与导出

企业把文件放进网盘之前会提出的三件事:不能过早删除,案件所需的内容要保留,个人可以带走自己的数据。
保留

最少保留天数

网盘设置中的 retentionDays(设置 → 存储,限有配置权限的人):创建未满这么多天的内容,任何人或回收站自动清空都不能永久删除。仍可移入回收站并恢复;清空回收站时会保留它,删除时返回 409 retained。

// Nothing deleted for good before seven years, by anyone or by the trash.
await client.saveSettings({ retentionDays: 7 * 365 });

// A case: this folder and all in it out of reach of the trash until released.
await client.hold(folder.id, 'Case 2026-114');
await client.release(folder.id);
保留
  • 在详情中设置保留(限有配置权限的人):在解除之前,它及其中的任何内容都不能被任何人移入回收站或删除。尝试时返回 409 on-hold。
  • 仍可上传新版本:之前的版本照常保留。
  • 详情会显示谁设置了保留以及原因;动态中有 held 和 released,并会通知 onChange。
导出

某人的全部数据

设置 → 语言 → 下载我的数据会把自己拥有的内容按原位置打包为 .zip,并附上 rebofiles-export.json:其全部条目、与其共享的内容、评论、操作记录和设置。GET /export 返回同样的内容;有配置权限的人可用 ?user= 导出他人的数据。

import { downloadZip } from '@rebofiles/drive';

const exported = await client.exportPerson(); // one's own; another's for who may configure
const { pack, ...rest } = exported;
await downloadZip({ pack: async () => pack, urls: client.urls }, [], {
  name: 'my-data',
  extra: [{ path: 'rebofiles-export.json', text: JSON.stringify(rest, null, 2) }],
});

导出他人的数据时, 导出包含其拥有的内容和操作记录;其文件字节由你的服务器从存储中读取,因为 byRoles 只允许本人下载。