本文最后更新于 2024-02-15,文章内容可能已经过时。

写在前面

Markdown 语法处理图片返回的是一个 URL 链接。

如果上传的是本地图片,则会显示文件的本地路径,既然是本地路径,分享文件时就显得极不方便了。它需要将文章中的图片一并发送,接受者还要配置本地环境与发送者图片路径一致才可看到,或者根据自己的目录,修改文章中图片路径。如果使用的是图床工具显示的是外链,可以「随时随地」查看,并不需一并发送图片,也无需自行配置本地环境。

或许上面说的过于抽象,我们设想这样一个场景:

你在 Typora 里写好一篇图文文章(为了显示差异,这篇图文采用本地图片和图床链接两种形式),然后发送这个 .md  文件给协作者进行编辑修改。

必定不久你的协作者就会一脸疑惑,说 Ta 根本就看不到第一张图片,因为在 Ta 那里,是这样的:

如果你又不小心删除了第一张图片,那么连你也无法在 Typora 看到它了。而你试着删除使用图床外链的第二张图片,你发现仍然能够使用,实际上的效果和上图一样。

想必好奇的你一定会惊喜「图床」是什么?为什么图床会这么方便?!

图床,顾名思义就是进行图片存储的服务器,同时允许对外连接网络,所有人可以访问。

好用图床推荐

图床服务分为免费和付费两种。如果你对图片资源管理和版权要求不是很高,或者仅是偶尔写写文章的话,免费的图床也是足够了。如果你想更有效地掌握自己的图床资源,还是建议采用付费云服务。

以下列举了几个常见的和相对好用的图床服务。

免费图床

免费的代价:众多免费图床服务注册条款里均有禁止商用说明,万一哪天你使用的服务挂掉了或者关闭了图片外链,那你所有的链接都无法访问了,对你造成的损失或许不小。比如,前几年的微博图床。

SMMS:稳定且快捷,是不少人主力图床的选择,同时开放 API,虽然已经推出付费套餐,但免费版本已经足够能用,不过公众号无法识别 SMMS 图床链接。

ImgURL:对游客有限制,每日最多上传 10 张,单张图片不能超过 5M,偶尔用用还是挺好的。

GitHub、Gitee:代码托管云服务网站,帮助开发者存储和管理其项目源代码,且能够追踪、记录并控制用户对其代码的修改。不同的是,GitHub 服务器在国外,Gitee 服务器在国内,访问速度更快。甚至你可以更简单粗暴地把它理解为一个巨型网盘,可以存储任何东西。

如果想要免费使用,极推荐使用这两款服务,毕竟跑路的可能性极小。

付费图床

腾讯云:下面是个人版定价表。

阿里云:目前国内最大的云计算服务商,这里 是阿里云 OSS 的定价单。

七牛云:提供的免费额度还挺高,是不少博主的选择。这里查看 七牛云定价

虽然比较来看,七牛云价格可能稍便宜些,但作为图床的云存储来说,一年或许也就几十块钱,没太大差距。而且腾讯云对于微信公众号的运营来说会更流畅些。

图片上传器:PicGo

PicGo: 一个用于快速上传图片并获取图片 URL 链接的工具 ——来自官网的自述

有了图床,我们可以将图片(或 GIF 等)返回一个 URL 链接,而不需要专门编辑、存放、管理众多杂乱无章的图片,直接复制,粘到 Markdown 编辑器里就能显示出来。嗯挺好,但不舒服。

一篇文章,尤其是教程文章,势必会用大量图片,一张张上传、复制、粘贴,不断切换应用和浏览器,不仅繁琐的流程让人烦,打断的思路更难以寻回。

此时就需要一款图片上传工具了,支持全平台的有 PicGo、仅限 macOS 系统的有 uPic。

PicGo 不仅是图片上传工具,同时也提供简易的图床相册管理功能。PicGo 开源且免费,跨平台支持 Windows、macOS、Linux 系统,使用极为简单。

可以在 这里 下载软件安装包,或者通过包管理器 Scoop、Chocolatey、Homebrew 一键安装。

Chocolatey:choco install picgo

Scoop:scoop install picgo

Homebrew:brew install picgo --cask

下载之后,界面是这样:

初始配置好存储方案,PicGo 支持 SMMS、腾讯云、阿里云、七牛云、GitHub、又拍云、Imgur 等,同时支持 Gitee、青云等第三方图床服务。使用时,拖放图片到主窗口或 mini 窗口(macOS 为顶部状态栏),PicGo 会自动上传至云服务器并返回链接到剪贴板,直接粘贴即可使用。

PicGo 的 UI 界面不算好看,但也不难看。虽设计普通简洁,却上手容易,小白也能理解。

选择图片上传,PicGo 会自动返回链接到剪贴板,只需要在相应编辑器里粘贴即可。

当然,除了该有的功能,PicGo 也有不少用心的地方。

快捷上传

支持直接将剪贴板图片或 URL 一键上传。

丰富的链接格式

PicGo 支持 Markdown、HTML、URL、UBB 和 Custom 五种格式的链接,对于 Markdown 写作者而言,最常用的就是 Markdown 格式,当然也支持自定义 Custom 。

多样的的上传方式

PicGo 支持的上传方式也比较丰富。除了主窗口上传之外,Windows 和 Linux 用户支持 Mini 小窗上传,macOS 用户则还可选择顶部状态栏上传,使用更加便捷。

图片管理

PicGo 不仅是图片上传工具,同时也提供简易的图床相册管理功能。

打开「相册区」,可以看到当前图床中所有的图片集合。支持复制、修改 URL 和删除的操作,分别对应每张图片左下方的三个小按钮。

同时,也支持批量复制、删除或全选操作。如果你同时使用多个图床,还可以单独显示每个图床的情况。

值得注意的是,「删除」操作仅仅删除本地数据,从而不在相册区展示,但不会影响图床存储。

插件

PicGo 支持丰富的插件系统,这里是 官方插件 页面,截至 2021 年 1 月底,已经推出了三十几款插件应用,涵盖「图床上传器」「图片压缩」「图片编辑」「图床迁移」等多方面。 

2.0 版本之后,你可以简单通过「插件设置」页面,搜索安装插件。安装完成后,可以点击插件右下方齿轮图标,进行更新、禁用、卸载、配置及使用等功能。

注意:由于 PicGo 要使用 npm 来安装插件,所以用户必须先安装 Node.js

其他设置

进入 PicGo 的设置页面,你可以自定义个人使用习惯。

比如,修改快捷键:

比如,进行自定义链接样式、选择是否上传前重命名、是否开机自启、是否接受更新等,还可以进行代理设置、Server 设置等。

图床配置

打开「PicGo 设置 - 选择显示的图床」一栏,可看到默认的 7 个图床,如果有其他需求,比如使用 Gitee 或青云图床等,可以使用第三方插件自行配置。

PicGo 本体支持如下图床:

  • 七牛图床 v1.0

  • 腾讯云 COS v4\v5 版本 v1.1 & v1.5.0

  • 又拍云 v1.2.0

  • GitHub v1.5.0

  • SM.MS V2 v2.3.0-beta.0

  • 阿里云 OSS v1.6.0

  • Imgur v1.6.0

本体不再增加默认的图床支持。你可以自行开发第三方图床插件。详见 PicGo-Core ——来自官网介绍

每个图床配置虽然看起来不同,但实际上大同小异。具体配置信息可以查看 这里

本文仅挑选 SMMS、GitHub、腾讯云三个典型图床为例。

SMMS

{
"token": "" // 通过SMMS后台获取的api token值
}

GitHub

{
"repo": "", // 仓库名,格式是username/reponame
"token": "", // github token
"path": "", // 自定义存储路径,比如img/
"customUrl": "", // 自定义域名,注意要加http://或者https://
"branch": "" // 分支名,默认是main
}

Gitee 图床配置与 GitHub 几乎相同。不过,PicGo 没有默认提供 Gitee 选项,所以需要通过插件开启第三方服务。首先在插件市场打开搜索 Gitee,点击任意一个,即可完成安装和所有配置。

腾讯云(阿里云图床与腾讯云几乎一致)

{
"secretId": "",
"secretKey": "",
"bucket": "", // 存储桶名,v4和v5版本不一样
"appId": "",
"area": "", // 存储区域,例如ap-beijing-1
"path": "", // 自定义存储路径,比如img/
"customUrl": "", // 自定义域名,注意要加http://或者https://
"version": "v5" | "v4" // COS版本,v4或者v5
}

免费服务:Gitee + SMMS

我使用腾讯云COS 作为主力图床的也有两个月了,最开始也是对 Markdown 的图片管理摸索了好久。不过一年多折腾下来,也打磨出了一套很好用的免费方案 —— Gitee 作为主力图床,搭配 SMMS。

为什么选择这组「套餐」呢?

首先,Gitee 作为国内最大的代码托管平台,经过几年发展,已经成为 GitHub 的国内替代产品,专业性强,相比于其他免费服务,风险性很低。

之所以选择组合 SMMS 使用,不仅是因为其在 PicGo 中可直接开启服务,还有 Gitee 对于单张图片限制在 1M 以内,所以一些体积较大的 GIF 文件,可能不够用,而 SMM 的限额更高,为 5M。

PicGo 与 Gitee

既然是免费服务,首先需要建立自己的 Gitee 图床库,详细步骤如下。

  • 注册个人 Gitee 账号

  • 新建图床仓库

  • 获取 token:点击头像,进入 个人设置 ,点击左侧「私人令牌 - 生成新令牌 - 修改私人令牌权限 - 简单私人令牌描述 - 提交」即可生成私人令牌 token。

注意:token 只会明文出现一次,注意保密,尽量不要丢失,否则又要重新生成。

回到 PicGo。因为 PicGo 没有默认提供 Gitee 选项,所以需要通过插件开启第三方服务。首先在插件市场打开搜索 Gitee,点击任意一个,即可完成安装和所有配置。

Picgo 与 SMMS

进入 SMMS图床官网,注册登录之后,点击右上角「User - Dashboard」,在「APItoken」中可以查看个人专属 Secret Token。

PicGo 中,打开「插件设置」,搜索「SMMS」,即可安装,然后将 token 复制过来,完成配置。

付费服务:PicGo 与 腾讯云

付费服务显得就从容多了,没有体积大小的要求,也没有每日次数的限制,一切「按量计费」或者购买套餐,具体计价表在上面已经给出连接。只要数据没有销毁,费用就要继续,不过确实足够便宜。

对于付费服务,这里以腾讯云为例,演示在 PicGo 中的配置。

  • 在腾讯云产品列表中找到「对象存储」,注册开通腾讯云对象存储 COS 服务。

  • 点击「存储桶列表 - 创建存储桶」,名称和地域自定,访问权限设置为「公有读私有写」。

  • 在「基础配置」中,记住「存储桶名称」「地域代码」「访问域名」,以后要用到。

  • 在设置用户信息中,输入用户名,点击「用户权限」,搜索「QcloudCOSFullAccess」,勾选并确定,之后点击「创建用户」。

  • 记住这里的 SecretID 和 SecretKey。

此时,进入 PicGo 设置,勾选显示腾讯云 COS,然后进入详细的腾讯云设置界面,点选使用 v5 版本,再按照提示依次填入个人账号信息。自行选择勾选是否设为默认图床。

与其他软件的联动使用

PicGo + VScode

VScode 是微软推出的一款轻量级文本编辑器,常年位居「最受欢迎的编辑器」前三甲。使用人数众多、扩展丰富、社区活跃、生态良好。

不少人将 VScode 作为「All in One」生产力和效率工具,不光用来写程序,它同时还具备写作(Markdown)、做计划(看板)、画流程图、查阅 PDF 或 Office 文件等不同功能,甚至还有插件可以用来看知乎、小霸王游戏机、查股票等「高级操作」。

我也在常在 VScode 写 Markdown 文章,所以也希望可以配置好图床,上传图片后,直接在光标处粘贴。

VScode 有 PicGo 插件,需要在扩展市场先安装再配置。

插件安装完成之后,进入设置界面,搜索 picgo,默认使用 SMMS 图床,如果有其他不同需求,可以更改。

比如,下面是我配置的腾讯云图床示例,与 PicGo 界面几乎别无二致。

安装完成之后,即可使用快捷键 Control + Shift + U  完成上传。看起来这与不配置插件并无区别,同样是截图 -> 快捷键上传 -> 粘贴,流程一步没少,没区别啊。

实际上,这款插件主要是给那些没有安装 PicGo 客户端。却又使用 VScode 写 Markdown 文章的读者有用,通过插件,可以实现与客户端相同的功能。

PicGo + Typora

在 Windows 平台,我更常用的 Markdown 编辑器就是 Typora 了。

Typora 是一款简洁高效、功能全面、执行优雅的全平台 Markdown 编辑器,也是目前最受欢迎本地 Markdown 编辑器之一(尤其是在 Windows 下)。它将源码编辑和实时预览合二为一,真正实现了「所见即所得」的渲染效果,给予作者极高的沉浸体验。

除了上述功能,Typora 搭配 PicGo 可以实现比 VScode(或者其他笔记工具) 写 Markdown 文章更流畅的体验了。

直接拖拽或直接将剪贴板图片粘贴进 Typora,便可实现自动上传到 PicGo 图床。实现的效果是这样的:

打开 Typora,使用快捷键 Ctrl + , 进入偏好设置,找到「图像」修改相应设置选项。

  1. 插入图片勾选「对本地图片应用规则」「对网络图片应用规则」「插入图片自动转义」。

  2. 上传服务设定:PicGo (app),PicGo 路径:自己主机中安装的 PicGo.exe 的存放路径。

  3. 点击「验证图片上传选项」。

此时,PicGo 里多出两张图片,就说明连接成功了。

结语

其实上面详述的免费图床(SMMS、Gitee)就很好用,在我使用它们的近一年来,基本没有出现很大问题。如果你刚学使用 Markdown 不久,并且也是刚刚了解「图床」这个概念,那么我建议你搭建自己的免费图床先用用,或许有了更高要求再转付费平台也不错。

参考文献