chh3213
文章16
标签9
分类6
使用cloudflare 创建无限的免费图床

使用cloudflare 创建无限的免费图床

约932字 预计需要3分钟

优点

  1. 无限图片储存数量,你可以上传不限数量的图片
  2. 无需购买服务器,托管于Cloudflare的网络上,当使用量不超过Cloudflare的免费额度时,完全免费
  3. 无需购买域名,可以使用Cloudflare Pages提供的*.pages.dev的免费二级域名,同时也支持绑定自定义域名
  4. 支持图片审查API,可根据需要开启,开启后不良图片将自动屏蔽,不再加载
  5. 支持后台图片管理,日志管理,查看访问前20的Referer、IP、img,可以对上传的图片进行在线预览,添加白名单,黑名单等操作

利用Cloudflare pages部署

使用R2 存储桶方式构建图床

  1. 点击Use this template按钮创建一个新的代码库。
  2. 登录到Cloudflare控制台.
  3. 在帐户主页中,选择 pages:
    1763390286277

    1763390357535

  4. 选择你创建的项目存储库,在 Set up builds and deployments部分中,Framework preset(框架)Next.js即可。

    1763390418418

    1763390445387

  5. 点击 Save and Deploy部署 。
  6. 创建D1 数据库
    1763304583328
    1763304638547

    执行sql命令创建表(在控制台输入框粘贴下面语句执行即可)
    1763392832312

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19

    DROP TABLE IF EXISTS tgimglog;
    CREATE TABLE IF NOT EXISTS tgimglog (
    `id` integer PRIMARY KEY NOT NULL,
    `url` text,
    `referer` text,
    `ip` varchar(255),
    `time` DATE
    );
    DROP TABLE IF EXISTS imginfo;
    CREATE TABLE IF NOT EXISTS imginfo (
    `id` integer PRIMARY KEY NOT NULL,
    `url` text,
    `referer` text,
    `ip` varchar(255),
    `rating` text,
    `total` integer,
    `time` DATE
    );
  7. 创建R2存储桶:
    依次点击:
    1763390561239
    1763390647318
    创建R2 存储桶时,首次进入的页面可能是这样的:
    1763390705218
    虽然R2 存储桶m每月有免费的额度,但需要进行申请,推荐用PayPal 账户进行申请,会方便许多。只要不超出使用额度,就不会进行扣费,个人使用完全够用。
  8. 返回Pages 页面绑定D1 数据库和R2 存储桶
    1763390862672
    D1 数据库的变量名称必须是 IMG,数据库就选择你刚才创建的,点击保存。
    1763390933677
    R2 存储桶的变量名称必须是 IMGRS,存储桶同理,选择你刚才创建的,点击保存。
    1763390962729
  9. 设置兼容性标志

    设置兼容性标志,前往后台依次点击 设置->兼容性标志 填写 nodejs_compat
    1763304759501

    1763304815267

  10. 前往后台点击 部署 找到最新的一次部署点 重试部署

    1763304881885

  1. 部署完毕后就可以通过这里的网址进行访问
    1763391116534
    最终顺利的话,你可以成功打开以下页面,选择R2,便可进行上传:
    1763391171182

使用Telegram Bot 方式构建图床

如果不想使用R2存储桶的方式,也可以使用Telegram Bot 创建图床。

  1. 创建Telegram Bot
    在电报中@botfather
    1763391455005

    输入 /newbot
    1763391554063
    输入Bot 名称和Bot 名称,例如:TelegraphImagebot,注意必须以 bot结尾。

  2. 创建好后获取Bot Token,可以找到Bot Token,例如:123468:AAxxxGKrn5
    1763391675618
  3. 回到pages 页面,设置变量
    1763391762410
    变量名称为 TG_BOT_TOKEN,然后将上面的bot token 作为值填写进去,保存即可。
    1763391822219
  4. 获取ID 机器人:@VersaToolsBot
  5. 创建一个频道,私有,公有都行:
    1763391981945
  6. 将上一步中自己创建的机器人添加为该频道管理员:
    1763392456385
    1763392480137
    1763392511651
  7. 随后,在频道内随便输入一个消息
    1763392201521
  8. 将该消息转发到刚才的ID机器人 VersaToolsBot中:
    1763392267661
  9. 随后在ID 机器人聊天框中会返回以下消息,复制频道ID(例如:-1234567):
    1763392327784
  10. 返回cloudflare 的pages页面,跟刚才一样添加变量,此时变量名为:TG_CHAT_ID,值为刚才的频道ID,保存即可。
    1763392650421
  11. 最终设置好后是这样的
    1763393110837

  12. 设置好上述值后,再重新部署即可。部署完成后就可以使用TG channel作为图床了!
    1763392707570

该项目所有可以设置的变量包括:

1763393810720

Enjoy it!

本文作者:chh3213
本文链接:https://chh3213.github.io/2025/11/16/%E5%88%9B%E5%BB%BA%E6%97%A0%E9%99%90%E7%9A%84%E5%85%8D%E8%B4%B9%E5%9B%BE%E5%BA%8A/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×
> > > > > >