之前写过一篇利用码云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。并不适合大文件分发,大文件分发还是移步国内各厂的对象存储。