利用开源项目
Telegraph-Image 该开源项目是一个利用 Cloudflare Pages 和 Telegraph 实现的免费图片托管解决方案,可替代 Flickr/imgur,方便用户分享图片,具有无限存储、免服务器、支持图片审查和后台管理等功能。
详细的搭建教程
一些限制
Cloudflare Function 免费版每日限制 100,000 个请求(即上传或是加载图片的总次数不能超过 100,000 次)。
Fork 仓库
我们需要去Fork下方的开源项目到自己的仓库中,直接Create fork
即可。:
https://github.com/cf-pages/Telegraph-Image
部署到 Cloudflare
登录自己的 Cloudflare 平台,访问Workers 和 Pages界面,并创建:
在新界面中,点击Pages选项页面,并选择连接到 Git:
连接到自己的Github账户:
进行授权:
授权成功后会跳转新的界面,在这个界面中选择自己Fork的项目,然后点击开始设置按钮:
在新界面的右下方,有一个保存并部署直接点击即可:
在这里等待站点部署完成:
看到下方的界面,则表示当前进行的操作非常的顺利:
点击右下角的继续处理项目来到控制台界面,在控制台界面添加我们自定义的域名来进行访问图床服务,Cloudflare 分配的访问地址并一定能够正常使用:
在新界面输入自己的自定义的域名并点击继续:
如果你的域名没有在cloudflare进行托管,那么会出现下面这种情况:
我们可以不进行域名的转移,直接点击开始 CNAME 设置在自己的域名管理平台根据提示添加一个CNAME记录即可:
当解析配置完成并且处于有效时,则服务已经正常的运行起来了:
开启后台管理界面
开启管理后台之前,我们需要在 Pages 部署的项目管理界面中的:设置 -> 函数 -> KV 命名空间绑定中添加一个绑定:
然后去环境变量中,添加两个变量BASIC_USER和BASIC_PASS分别代表后台的用户名密码:
然后重新部署这个项目:
部署完成后,访问:https://自己的域名/admin
部署完成后就不建议再去操作更新部署了,数据容易没了。
使用接口上传图片
该图床可以利用 api 来上传图片并且获取图片地址:
curl --location \ --request POST 'https://img.xxx.com/upload' \ --form 'file=@"/1.png"'
响应的内容是:
[{ "src": "\/file\/6bd1486e01903a7001305.png" }]
完整的拼接起来就是图片的直链:
https://img.xxx.com/file/6bd1486e01903a7001305.png
查看全部 0 条评论