存储
学习如何设置和使用云存储进行文件上传和媒体处理
存储
LandingMore 使用 兼容 Amazon S3 的存储服务(如 Cloudflare R2)进行文件存储,为存储图像和其他媒体文件提供可靠且可扩展的解决方案。
设置
要在 LandingMore 中设置存储,请按照以下步骤配置必要的环境变量:
Cloudflare R2(推荐)
- 在 cloudflare.com 创建 Cloudflare 账户
- 创建新的 R2 存储桶:
- 选择全局唯一的存储桶名称(例如
your-project-name) - 选择靠近目标受众的区域
- 根据您的需要设置其他选项
- 选择全局唯一的存储桶名称(例如
- 允许对存储桶的公共访问:
Settings>Public Development URL,点击启用- 将公共访问 URL 保存为
STORAGE_PUBLIC_URL - 为存储桶的公共访问设置自定义域名 (推荐使用自定义域名以提高安全性)
- 创建新的 API 令牌:
Storage & databases>R2 object storage>API Tokens>Manage,点击Create User API Token- 将权限设置为对存储桶的
Object Read & Write - 创建 API 令牌,获取
Access Key ID和Secret Access Key
- 设置以下环境变量:
S3 兼容的替代方案
LandingMore 与任何 S3 兼容的存储服务兼容,包括:
- Amazon S3 - 亚马逊的存储服务
- Backblaze B2 - 非常经济实惠的选择
- Google Cloud Storage - 具有 Google 基础设施的高性能
- Digital Ocean Spaces - 简单定价并与 DigitalOcean 基础设施集成
如果您正在设置环境,现在可以回到环境配置文档并继续。本文档的其余部分可以稍后阅读。
环境配置
设置环境变量
存储系统架构
LandingMore 中的存储系统设计包含以下组件:
index.ts
types.ts
client.ts
README.md
这种模块化结构使得使用新提供商和功能扩展存储系统变得容易。
核心功能
- 服务器端的文件上传
- 浏览器端的文件上传
- 支持 Amazon S3 和兼容 S3 的存储服务(如 Cloudflare R2)
- 使用文件夹组织文件
- 自动生成文件路径和文件命名
- 可配置的存储区域和存储桶设置
使用方法
基本文件操作
LandingMore 为常见文件操作提供简单的实用程序:
浏览器端上传文件
要直接从浏览器上传文件,请使用 uploadFileFromBrowser 函数:
与表单组件配合使用
下面是将存储模块与表单组件配合使用的示例:
自定义存储提供商
创建自定义提供商
LandingMore 使得使用新的存储服务提供商扩展存储系统变得容易:
-
在
src/storage/provider目录中创建新的文件 -
实现
StorageProvider接口
- 在
index.ts中更新存储服务提供商选择:
最佳实践
- 文件组织:使用文件夹按类型或用途组织文件(例如
uploads/images、documents/contracts) - 文件大小限制:设置合理的文件大小限制以防止滥用
- 文件类型验证:在客户端和服务器端验证文件类型以确保安全
下一步
现在您了解了如何在 LandingMore 中使用文件存储,探索这些相关主题: