
CloudFlare-ImgBed免费无限图床小白部署教程
基于 CloudFlare 的开源文件托管解决方案,支持 Telegram Bot、Cloudflare R2、S3 等存储渠道,实现低成本文件托管,简单说就是白嫖到底!
渠道类型:
- Telegram Bot 完全免费、无限容量 大于20MB文件需分片存储 我们这里主要就是白嫖TG来储存,唯一现在就是单张图片不能大于20MB
- Cloudflare R2 无文件大小限制、企业级性能 超出10G免费额度后收费,需要绑定支付方式
- S3 兼容存储 选择多样、价格灵活 根据服务商定价
部署完成后进阶教程:给免费图床加个速:CloudFlare-ImgBed 配置国内 CDN,实现免费 CDN 加速图床功能
第一步:Fork 项目
访问 CloudFlare ImgBed 项目,点击右上角的 “Fork” 按钮,将项目 Fork 到自己的 GitHub 仓库。
第二步:创建 Pages 项目
1. 访问 Cloudflare Dashboard 关联仓库
登录 Cloudflare Dashboard,选择左侧菜单的 “Workers & Pages”,点击 “创建应用程序”,选择 “Pages” 选项卡,点击 “连接到 Git”,最终选择刚才 Fork 的项目。
2. 配置项目设置
- 项目名称:cloudflare-imgbed(或自定义)
- 生产分支:main(默认)
- 构建命令:
npm install重要:v2.0 新构建命令,旧版本构建命令不适用 - 构建输出目录:/(默认)
重要提醒:v2.0 版本的构建命令已变更为 npm install,请务必确保填写正确,否则部署会失败。
3. 部署项目
点击 “保存并部署”,等待首次部署完成(约 2-3 分钟),部署成功后即可通过 Cloudflare 生成的临时域名访问。
Cloudflare-ImgBed 中 KV vs D1 数据库配置对比
核心配置与使用差异表
| 对比维度 | Cloudflare KV 数据库 | Cloudflare D1 数据库 |
|---|---|---|
| 配置难度 | 极低,项目默认适配,仅绑定 KV 命名空间即可用 | 较高,需手动建库/表、修改代码适配 SQL 语句 |
| 每日免费核心额度 | 写入/删除/列出:各 1000 次;读取:10 万次 | 写入:10 万行;读取:500 万行 |
| 超额度后上传/访问影响 | 图片可正常上传、访问(文件存 R2/Telegram) | 图片可正常上传、访问(文件存 R2/Telegram |
| 超额度后后台管理影响 | 超出 1000 次写入:新上传图片无法在后台查看/删除/管理 | 仅极端场景(日传超 10 万张)才会超额度,新上传图片无法在后台查看/删除/管理 |
核心使用场景与选型建议
优先选 KV 的场景(90% 个人用户)
- 核心诉求:仅作为图床使用,能正常上传/访问图片即可,后台管理(查看/删除)非核心需求;
- 优势:配置最简单、上传/访问速度极快、支持大文件,即便单日上传超 1000 张:
- ✅ 图片仍可正常上传、访问(文件实际存在 R2/Telegram);
- ❌ 仅超出 1000 张的部分无法在后台查看/删除,对纯图床使用几乎无影响;
- 适配性:单日上传超 1000 张后,后台管理已无实际意义(手动管理 1000+ 张图片本身效率极低),完全契合“纯图床”定位。
选 D1 的场景(小众需求)
- 核心诉求:需在后台批量筛选/统计图片(如“按日期筛选上传记录”“统计各存储渠道图片数量”);
- 优势:额度极高(日写入 10 万行),几乎不会触发超限额,支持数据回溯恢复;
关键结论
- 若仅把 Cloudflare-ImgBed 当“纯图床”用(核心是传图/访问,后台管理可有可无),KV 是最优解:配置简单、速度快、支持大文件,超 1000 次仅影响后台管理,不影响核心功能;
- 若需高频在后台管理/统计图片,且仅传小文件,可选择 D1,但需接受配置复杂
第三步:配置数据库(必需)
数据库用于存储文件元数据,是项目运行的核心组件,可选 KV 数据库和 D1 数据库。由于 KV 数据库配置更简单,此处以 KV 数据库为例(可理解为用于储存配置文件和文件关联数据)。
1. KV 数据库配置:创建 KV 命名空间
- 在 Cloudflare Dashboard 中选择 “存储和数据库”,点击 “KV”,再点击 “创建命名空间”
- 输入命名空间名称:
img_url(建议使用此名称,后续绑定需对应一致)
注意:若你不使用 R2 存储渠道,可跳过下方 R2 渠道配置步骤。
2. R2 渠道配置(可选)
进入 Cloudflare “R2 对象存储” 页面,点击 “创建存储桶”,存储桶名称可自定义(示例中使用 img-r2),按提示完成创建即可。
第四步:Telegram(电报)设置
1. 逻辑和原理
简单来说,就是在 Telegram 中创建一个专属频道,将机器人添加为频道管理员,后续上传的文件会自动存储到该频道中,实现无限免费存储扩容。
2. 添加机器人
打开 Telegram,搜索 @BotFather,向其发送
/newbot,按提示给机器人起一个名称(需以 Bot 或 -bot 结尾,且不能与现有机器人重名,重复会有提示),创建成功后记录机器人的 API Token(后续需用到)。/newbot 回车发送。
botfarther会反馈
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
输入你要创建的bot名字。例如peiqi123_bot,回车发送
它会反馈 Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
我再输入 peiqi123_bot。这是这个机器人的名字。
它会反馈Done! Congratulations on your new bot. You will find it at******
- 新建一个 Telegram 频道(名称自定义),将刚才创建的机器人拉进频道并设为管理员:点击频道设置中的 “添加管理员”,输入机器人名称并完成授权。
- 在频道内随便发送一条消息,将该消息转发到 @VersaToolsBot,机器人会返回频道的详细信息,记录其中的频道 ID(后续需用到)。
3. 整理需要的 KEY
到这里 Telegram 配置步骤完毕,需保存以下两个关键信息:
- TG_BOT_TOKEN = 刚才记录的机器人 API Token(示例:8211313561:AAGBK1_BBFfdsdfdsa4VKfdfsdsyyXeQLL9_OK5-s)
- TG_CHAT_ID = Telegram 机器人返回的频道 ID(示例:-1004545450980)
第五步:绑定 KV 数据库和 R2 对象存储
- 返回已创建的 Pages 项目,选择 “设置” → “绑定”
- 绑定 KV 数据库:变量名填写
img_url,选择之前创建的 KV 命名空间 - (若配置了 R2)绑定 R2 对象存储:变量名填写
img_r2,选择之前创建的 R2 存储桶
第六步:重新部署
由于修改了数据库和存储配置,需要重新部署使设置生效:
- 进入 Pages 项目的 “部署” 页面
- 找到最新的部署记录,点击右侧的 “…” 菜单,选择 “重试部署”
- 等待部署完成后,通过 Cloudflare 提供的临时域名即可访问项目(也可后续绑定自己的自定义域名)
第七步:必须设置(系统初始化)
1. 进入后台设置
访问部署后的项目页面,点击网页右下角的 “设置”,再点击 “系统设置”(首次进入无需密码,直接即可进入)。
2. 上传设置:配置 Telegram 存储渠道
在 “系统设置” 中找到 Telegram 相关配置项,将第四步记录的 TG_BOT_TOKEN 和 TG_CHAT_ID 填入对应位置,点击 “保存设置”。
3. 其他关键设置
安全设置(设置管理员账号密码,防止他人篡改配置)、上传设置(选择默认存储渠道、设置文件大小限制等),可参考官方文档说明进行个性化配置。
⚠️ 重要提醒:关闭图像审查功能可大幅提升图片上传速度
若您遇到图片上传缓慢的问题,请注意图像审查功能的关键影响:
开启状态:图片从上传到返回链接耗时30秒以上,严重拖慢操作效率;
关闭状态:上传耗时可缩短至5秒内,体验流畅高效。
此问题曾困扰我多时,最终咨询作者后才确认根本原因。若您无需图像审查功能,建议关闭,以获得更顺畅的使用体验。

🤔进阶方案
- 访问图片可以通过套CDN来进行加速,可以看进阶教程:给免费图床加个速:CloudFlare-ImgBed 配置国内 CDN,实现免费 CDN 加速图床功能
⚠️ 须知
技术说明:本文图片存储依赖 CloudFlare-ImgBed 图床服务,结合多吉云 CDN 全球节点加速,实现图片低延迟、高可用访问。
- 感谢您的赞赏







