使用七牛云作为图床获取外链方式总结

一、图床的选择

很多技术人写作都用的是 markdown 轻量级标记语言进行博客写作,这种写作让我们不用像使用 word 那样那么麻烦地调整排版和格式,只需专心写作并且照样完成排版的一种方式。但是,基本所有支持 markdown 本地写作工具都只能采用导入本地图片引用的方式,对于一篇需要大量图片阐述的文章以及该文章上传至网络图片丢失,这不得不是个很糟糕的问题。那么有什么比较好的解决方式吗?额,很多人采用的图片寄存于网络,用服务厂商作为图片存储的地方,大家都叫为「图床」,好了,那像 CSDN 博客、简书平台不是都可以吗?哈哈,是的,它们平台写文章的时候都可以导入图片然后得到一个图片网络地址。但是,图片数量多,一张一张上传,这不是贼烦嘛!

好了,那有专门可以作「图床」功能的服务商吗?有的,比如七牛云。

网上谷歌搜下还是能搜到很多图床网站的,哈哈,先随便列举一些:(以下按照谷歌搜索排名顺序来的)

看下别人的推荐吧:

——————————————————————-总结—————————————————————————

1、图床分类:

  • 公共图床
  • 自建图床:云服务(如七牛云、又拍云、阿里云OSS)
  • 自建图床:开源方案 (如 Lychee 开源方案、树洞外链)

目前图床可以分为两种,一种是公共图床,一种是自建图床。 公共图床也就是利用公共服务的图片上传接口,来提供图片外链的服务,比如「微博图床」。自建图床,也就是利用各大云服务商提供的存储空间或者自己在 VPS 上使用开源软件来搭建图床,存储图片,生成外链提供访问,比如七牛云、Lychee 开源自建图床方案。

目前自建图床方案有两种,一种是利用云服务商提供的存储服务来作为图床,通过 API 来管理图片,另一种是在 VPS 上安装开源的图片或文件管理程序,只要能提供外链,基本都可以作为图床来用。

图床服务最重要的是稳定性,大厂的云服务也都比较有保障,大家只要考虑下价格和易用性就可以了。就我个人而言,我首先推荐七牛,它的价格比较厚道,免费用户也有一定额度,数据可以自己掌控,另外各大平台的图床工具也基本都支持,易用性很高。其次推荐微博图床,对于不是很重要的图片,都可以存到微博图床,毕竟流量存储都免费,速度也不错。至于图床工具,就看自己的喜好了,只要顺手就行。但是不论选择哪一个服务或者工具,我觉得首先要自己可以掌控数据。

总之,适合自己的才是最好的。

2、图床工具:

虽然图床选择好,但是对普通用户来说,直接使用图床 API 很麻烦,我们可以借助一些工具方便的上传图片,下面就根据 macOS、Windows、Web 分别推荐几款工具。

macOS:

Windows:

  • MPic: http://mpic.lzhaofu.cn/

    MPic 目测是 Windows 上唯一的图床工具了,目前只支持七牛,把图片拖拽到软件窗口中就能上传。

Web: 使用 Web 技术开发的图床工具一抓一大把,大部分都基于七牛和微博图床 API,这里就介绍两个体验不错的吧。比如「极简图床」、「微博图床」等等。

脚本:如果你对上面的产品不满意,并且你会折腾的话,可以使用这个脚本来完成图片上传:Markdown 图片实用工具 , 该脚本使用 Python 版的七牛 SDK 来实现上传功能,你可以按照相关介绍,搭配 Alfred 来快速完成图片上传。

二、七牛云图床教程

先介绍下七牛:

七牛 是一个云存储服务商,注册并实名认证之后1后,你将免费享有 10GB 存储空间,每月 10GB 下载流量、100 万次 GET 请求、 10 万次 PUT/DELETE 请求。七牛的定位不是像百度云一样的 网盘 ,也不是同坚果云一般的 同步云 ,而是 CDN 2 ,让你在浏览网页的时候最快的接收到页面中的图片、音频等文件,所以非常适合个人、企业用户用来储存站点资源。对于个人博主来说,你可以把博客中的图片、音频、视频等媒体上传到七牛,在博客中引用;也可以将站点需要加载的CSS、JS等文件上传到七牛,以加速网站。

网上对七牛云的评价:

  • 七牛云为实名认证的个人用户提供 10Gb 的储存空间,提供命令行工具管理图片,在后台可批量修改图片属性。
  • 七牛云是国内口碑不错的一个云存储为主的公司。它的特点应该就在图片存储上,有非常方便的上传SDK和图片处理流,用来作为博客图床非常合适,而且价格不贵,每月有免费的10G流量。
  • ….

2.1 最原始上传

大概步骤分为以下几步:

① 到 七牛云 网站注册;

② 实名认证(实名认证了才能享受 免费 10Gb 存储空间;实名认证需要「本人手持身份证」的正反面两张照片,请提前准备好);

③ 点击「管理控制台」;

④「资源主页」–> 点击「对象存储」,立即添加(即创建存储空间,七牛云把这个叫作”Bucket“),其中包括以下三个项:

存储空间名称:存储空间名称作为唯一的 Bucket 识别符

存储区域:区域选择自己附近的

访问控制:作为图床的话,访问控制只能选择为「公开空间」

点击创建,ok。

⑤ 然后打开存储空间,选择内容管理,点击上传文件,上传你所需要用到的图片;

⑥ 上传完成后,在存储空间文件列表中点击某一文件的右侧按钮,可以看到外链地址,复制粘贴即可用。

想看图片形式的操作,可以参看该文:使用七牛云存储做图床

现在来看看一张图片上传图片所经历的步骤:

  1. 登录打开七牛云网页个人存储空间
  2. 上传图片
  3. 复制外链
  4. 粘贴到 Markdown

一张图片用了四步呐,想想图片多,那不是作死嘛。

那有什么方法吗?当然有,方法有三个:

一、七牛云插件上传:简单

二、使用 dropzone 上传:方便

三、使用命令行上传:快捷,尤其适合需要目录及协作的团队

官方有个「开发者工具」页面,提供一些工具进行上传,包括后面讲的 qshell,地址是:https://developer.qiniu.com/sdk#official-tool , 其中有个「QSunSync」的 Windows 版本图片同步上传客户端。

2.2 七牛云插件上传:简单

  • 还可以利用在线「极简图床」工具,默认使用的为公共图床 sm.ms,但是也可以自定义的,自定义图床为七牛云图床,方法如下:

    在最前面有关七牛云的注册等等操作,前面已经讲了,不絮叨了,之后:

    1. 在“个人面板”->“密钥管理”中查看 AccessKey/SecretKey;

    2. 在储存空间的“空间概览”里,记住这里的“测试域名”;

    3. 在「极简图床」上配置上刚才七牛储存的“空间名称”、“AccessKey”、“SecretKey”、“域名”后,保存。然后就可以上传到自己专属的七牛空间上了。

      “AccessKey”、“SecretKey”:在“个人面板”->“密钥管理”中查看AccessKey/SecretKey;

      “域名”:在储存空间的“空间概览”里可以看到

2.3 使用 dropzone 上传:方便

这两篇文章已经写得很清楚了,大家按照以下两篇文章操作即可

2.4 使用命令行上传

1、qshell

使命命令行方式,可以不用手动上传文件到七牛,它会自动帮你将本地目录的文件同步到七牛之前设定的存储空间下。

详细教程,参考「参考资料」②文章的方法三,但是参考资料②中所说的 qrsync 已经失效,现在使用的 qshell 命令行,操作方式其实类似。

先引用官方的 qshell 介绍:

qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具。该工具设计和开发的主要目的就是帮助开发者快速解决问题。目前该工具融合了七牛存储,CDN,以及其他的一些七牛服务中经常使用到的方法对应的便捷命令,比如b64decode,就是用来解码七牛的URL安全的Base64编码用的,所以这是一个面向开发者的工具,任何新的被认为适合加到该工具中的命令需求,都可以在ISSUE列表里面提出来,我们会尽快评估实现,以帮助大家更好地使用七牛服务。

配置教程参考 官方文档 或者 官方GitHub, 同时官方也有视频教程:https://developer.qiniu.com/kodo/kb/3858/video-of-how-to-use-qrs-tools

2、hexo-qinqiu-sync

网上看到有通过命令安装hexo-qiniu-sync插件的方式:http://skyhacks.org/2017/08/02/UseQiniudnToStorePic/、 https://yuchen-lea.github.io/2016-01-21-use-qiniu-store-file-for-hexo/

GitHub 上也有教程:https://github.com/gyk001/hexo-qiniu-sync

笔者在该篇文章所看到:优雅的使用七牛做图床, 里面这么说:

先是用了下很多人提到的这个插件hexo-qiniu-sync, 然而效果实在是大跌眼镜,在我这主要有这两个问题:………….

……

然后发现了 qshell ….

然后,我换了种思路,在source文件夹下新建个图片文件夹,和文章相关的图片放到这里,再把这个文件夹内容同步到七牛,然后在博客使用七牛链接就好了呗,恰好发现官方有这个工具qshell,基本满足我的想法。

…….

好吧,这么看来,还是用 qshell 这个合适。

2.5 图片优化

三、笔者最后使用的方法

由于笔者用的 windows,并且目前对图片上传的要求不大,只要能保证方便上传图片就行,目前暂且就考虑以下几种方式。

  1. 第一种:使用本文一开始提到的谷歌搜索「图床」那些在线图床进行上传就是,比如 SM.MS,不过可的可能会有某些限制,比如「小贱贱图床 」每日上传图片限制数:20张。

  2. 第二种: 使用本文提到Chrome浏览器插件 qiniu upload files 插件,填写空间名称、AK、SK、域名等设置即可从电脑拖拽图片至浏览器即可完成上传,得到外链地址。

  3. 第三种: 使用本文提到的 极简图床,设置七牛云为图床,填写空间名称、AK、SK、域名、样式,上传图片即可得到外链地址。PS:其中,样式为可选设置,其作用是 通过添加七牛样式后缀,实现水印、缩略图功能,查看使用说明

  4. 第四种: 使用本文提到的 Windows 下目测唯一的上传工具 MPic ,首先下载下来,然后:

    1. 打开文件,启动程序请点击MPic.exe,为方便启用可点击右键发送到‘桌面快捷方式’。
    2. 使用前先设置七牛云存储账号,即输入七牛云空间名、AK、SK、域名,保存;
    3. 然后就可以直接拖拽图片至客户端就能上传。

    说明:下载的文件中包含的 CSkin.dll 文件,它是程序的核心文件,请与 MPic.exe 文件保持在同一目录中;需要查看历史上传记录请点击‘我的上传’即可查看。

  5. 第五种:① 使用官网 开发者工具页面 的「QSunSync」同步上传windows客户端,亲测了下,没有成功,还不知道哪的问题;② 或者使用官网的开发者工具页面的 qshell 工具(基于七牛 API 服务的命令行工具),教程都在官网。

  6. 其他……

考虑到可以绑定七牛云,我最后考虑了第二、第三、第四种方式(这几种方式都可以绑定七牛云为图床),也都差不多,都可以选择。当然不考虑绑定注册过的图床,只是偶尔上传图片而已,就用 SM.MS 这个也 ok。 若需要一次性上传很多图片,可以自行折腾下文中提到的其他方法…


参考资料:

觉得文章对您有帮助请我喝杯咖啡吧^_^
0%