之前写过一篇利用码云Gitee+PicGo搭建个人图床,当时说到了要写一篇用Github做图床的教程,一直拖到了现在,今天就来讲解一下怎么实现。
本篇文章主要讲解如何使用PicGo
上传并使用jsDelivr
加速,当然你也可以手动上传或者加速其他静态文件。
jsDelivr是一个比较好的CDN平台,官方号称jsDelivr – Open Source CDN free, fast, and reliable
,简单来说就是开源的CDN,免费、快、可靠。
使用限制
- 目前GITHUB仓库容量是没有上限的!不过官方推荐在1G以内!
- 仓库单个文件50M会收到警告,大于100M会被拒绝!
- jsDelivr仅能针对50M以下的文件CDN加速!
放一个测试图:https://cdn.jsdelivr.net/gh/noshore/cdn/img/20200527224639.jpg
创建仓库
当然,首先你得有个Github的帐号。
新建一个仓库
,填写仓库名
,将权限设置成public
,根据需求选择是否为仓库初始化一个README.md
描述文件。
生成Token
点击用户头像 -> 选择Settings
点击Developer settings
点击Personal access tokens
并点击Generate new token
新建一个Token
。
填写Token
描述,勾选repo
,然后点击Generate token
生成一个Token
。
获取Token密钥
生成之后会显示Token的密钥,复制保存好。
注意这个Token
只会显示一次,自己先保存下来,或者等后面配置好PicGo后再关闭此网页。
配置PicGo
进入PicGo官网下载,由于github的问题下载速度较慢,在这里放上博主已经下载好上传到百度网盘的。
链接:https://pan.baidu.com/s/115MA7FdskRM2Rapd4RsBmg 提取码:a336
- 设定仓库名:按照
用户名/图床仓库名
的格式填写 - 设定分支名:
master
- 设定 Token:粘贴之前生成的
Token
- 指定存储路径:填写想要储存的路径,如
img/
,这样就会在仓库下创建一个名为img
的文件夹,图片将会储存在此文件夹中。 - 设定自定义域名:它的的作用是,在图片上传后,PicGo会按照
自定义域名+上传的图片名
的方式生成访问链接,放到粘贴板上,因为我们要使用jsDelivr
加速访问,所以可以设置为https://cdn.jsdelivr.net/gh/用户名/图床仓库名
上传图片
配置完成之后,只需要将图片拖动上传即可,然后在相册区可以复制链接了。
手动上传
这边讲另一种方式——手动上传
上传图片之后,发布一个release
。
官方的访问方法就是:
https://cdn.jsdelivr.net/gh/用户名/仓库名@分支名或版本号/文件名
例如我在repo根目录下传了一张名为1.jpg
的图片,那么文件链接就是
https://cdn.jsdelivr.net/gh/noshore/cdn@1.0/1.jpg
上面说了也可以不创建releases
,就直接用分支代替版本号也是可以的。
https://cdn.jsdelivr.net/gh/noshore/cdn@master/1.jpg
jsdelivr也可以直接获取仓库目录,格式如下。
https://cdn.jsdelivr.net/gh/用户名/仓库名@分支名或版本号/
如果直接使用分支进行访问,例:https://cdn.jsdelivr.net/gh/noshore/cdn@master/1.jpg
。
master
分支会有缓存,缓存应该是一天更新一次。如果想进行及时更新,可以把master
直接改成latest
即可。
格式如下:https://cdn.jsdelivr.net/gh/jcjyxjs/cdn@latest/1.jpg
建议只用作静态文件加速,例如JS/CSS/Image。并不适合大文件分发,大文件分发还是移步国内各厂的对象存储。