在网上分享图片或者写博客的群体对「图床」应该都不陌生,图床一般是指储存图片的服务器,我们上传图片后会获得 URL 链接。大部分图床都提供了免费服务,不过会在流量、图片大小上作出一些限制。由于流量、运营成本、维护等多方面的原因,小的厂商很难长时间维持免费图床的运营,选择有一定实力和相关服务背景的运营商图床会存活的更久一些。
大部分图床服务的流程是「打开 web 页面──拖拽上传图片──获得 URL 地址」这么一个过程,使用起来并不是很便捷,是否能直接在桌面完成操作呢?答案是肯定的,图床服务商一般都提供了 API 接口供第三方调用,于是也应运而生了很多支持这些接口的应用工具。
菜单栏里的图床工具
macOS 上以前比较喜欢用 Dropzone 这款应用,它内置了 imgur 这个图床的接口,作为一款常驻菜单栏的应用,它会响应文件拖拽并弹出窗口,操作便捷。然而系统更新到 macOS Mojave 以后,发现 Dropzone 的 imgur 扩展不好用了,逼的自己不得不再找一个类似的图片上传「帮手」。
经过一番搜索,找到一款 GitHub 开源应用 PicGo,PicGo 支持微博图床、七牛图床、腾讯云 COS、又拍云、GitHub 图床和 SM.MS 图床。设置和使用都很简单,安装上以后,第一时间配置好了 GitHub 和 SM.MS 这两个自己比较喜欢的图床服务。
PicGo 支持图片的批量上传,只需要拖拽图片到它的菜单栏图标上即可。菜单栏展开的下拉菜单里会显示最近上传的图片,点击可以重新获取链接。它的详细设置(菜单栏图标上右键)中还包含:默认图床、时间戳重命名、链接格式(MarkDown、HTML、URL、UBB)等实用设置项。
利用网上的资源简单整理了一份目前流行图床的表格,不准确的地方欢迎指正。
| 项目 | 批量上传 | 尺寸 | 流量 | 保存时间 |
|---|---|---|---|---|
| 微博图床 | 支持 | 不限 | 不限 | 永久 |
| imgur | 支持 | < 20 MB | < 50 张/小时 | > 4,000 次(一周内) |
| Tinypic | 不支持 | < 1024×768 | 不限 | 三个月(无人浏览即删除) |
| sm.ms | 支持 | < 5MB | 10 张/次 | 永久 |
| 七牛 | 支持 | 不限(需注册) | 10G/月 | 帐号有效期 |
| 又拍网 | 支持 | < 10MB(需注册) | 100MB/月 | 帐号有效期 |
| Cloudinary | 支持 | < 10 MB(需注册) | < 20 GB(月) | 帐号有效期 |
| GitHub | 支持 | 不限 | 不限 | 永久 |
右键 Bitcron 图床
当初将博客转到 Bitcron 的一个考虑因素就是博客内容和 Dropbox 的同步,除了网站的配置信息,博客文章会以 .md 的格式保存在文件夹当中,图片也都集中保存在指定目录。这给了人一种安全感,因为文章依旧是 MarkDown 的原始形态,即便博客平台出问题,文章也不会丢失。
Bitcron 支持用户创建多个网站,于是想到利用 Bitcron 和 Dropbox 的同步特性,单独建一个自己的图床。方便分享单独的图片,而且在本地操作 Dropbox 文件夹中的内容即可。图示中可以看到 Bitcron 管理网站的逻辑,每个网站都有一个以域名为命名的文件夹,为此我单独添加了一个域名 img.scomper.me 的网站作为图床,同时设置将云同步设置设为双向(从云端同步和同步到云端都开启)。如此一来,在 Dropbox 的文件夹 img.scomper.me 中的修改能即时的反映到网站上。
Mac 本地只要把图片复制到 Dropbox 目录下的 img.scomper.me 文件夹当中,通过 Dropbox 的同步就会体现在 img.scomper.me 这个网站上。
本地又该如何快速的获取 URL 链接呢?这里就需要用到系统自带的机器人「自动操作」(应用程序 - 实用工具)。
打开「自动操作」创建一个 Quick Action,这样可以在鼠标右键菜单「快速操作」里看到你创建的动作。
这里我创建的两个 Action:
- Get URL,在图片上右键获取 URL 链接,主要用在对 Dropbox 中 Bitcron 同步的网站内容中直接获取图片的 URL,例如博客 scomper.bitcron.com 和 img.scomper.me 中的图片链接。只对 Bitcron 本地的存储图片有效,其他位置会提示无法获取 URL 地址。
- Copy URL,本地 Bitcron 文件夹之外的其他地方,右键直接复制图片拷贝到 Dropbox 指定文件夹并获取 URL 链接。
两个 Action 其实差不多,Copy URL 这个动作多了文件名重命名(默认系统截图的命名包含空格,会导致「从文本中提取 URL 失败」)和复制图片到指定目录的动作。用到的变量有三个:FilePath 保存「从文本中提取的 URL 地址」,Prefix 变量设置了一个默认文本 http://,最后用 HTTP( = FilePath+Prefix )变量组合成网址。
Finder 选中一个文件跑(Run)一下测试,例如选择 img.somper.me 文件夹中的一张图,「从文本中提取数据」会获得 img.scomper.me/screenshots/***.png 这样一个地址,将其保存到 FilePath 变量,最后组合成 HTTP 的网址,传给通知组件和剪贴板。
调试没有问题保存并命名两个 Action,这样在鼠标右键中就能找到它们。为了让通知提示更聪明,Get URL 这个 Action 中还可以给 FilePath 这个变量添加一个默认值(获取 URL 失败!)。
- 需要注意的是,如果下次编辑中 Run 过这个 Action,保存的可能是最后一个测试的路径,需要重新赋值并保存退出。
- 另一个问题就是,每次编辑 Action 默认的动作的右键菜单图标都会还原,需要重新设置。
- 如果发现剪贴板中粘贴出来的是重复的文本串,检查「获取变量的值」选项,勾选「忽略此操作的输入」。
macOS 10.14 之前的版本,自动操作的新建菜单里没有「快速操作」这个选项,可以创建为「服务」,从右键的服务菜单里选择,最后,系统偏好设置的键盘设置可以为自己创建的服务项添加快捷键。






