如何使用七牛云做为图床?

题图:七牛云存储

背景

  • 2014年2月开始练千字文

  • 开始接触 Markdown 语法

  • 知道了图床,用免费图床各种不顺心

  • 免费的

    • yupoo:当时100m的免费空间,用了一阵子,很快就爆了
    • 新浪相册:会压缩图片,批量上传老是出问题,老担心他家搞个防盗链
    • 其他国内的免费相册服务,不是界面丑就是速度慢……
    • 国外的图床不敢用,挂了可是个大工程呐,我当时还没备份的习惯……
    • 其他私人搭建的图床,用过几次,挂了
  • 收费的

    • 换过杂七杂八的免费图床
    • 总觉得找免费图床,心神消耗挺大的
    • 我只想好好写博客而已,还是找个收费吧,一了百了
    • 收费的图床在知乎一搜,要么又拍云,要么七牛
    • 注册又拍云,发现不付费不能用呀……放弃了~
    • 注册七牛,发现有 10g 空间体验账户,用起
    • 那时候的我以为 10g 空间是容量,够我用好一阵子,嗯!

选定七牛

  • 2014年3月注册了七牛免费账户(注册后一直没用)
  • 5月搭建博客,常写博客,用 七牛 配图
  • 免费账户 肆无忌惮 地用了一年多,10G 流量终于爆了
  • 这时,我才搞清楚 容量 和 流量 的区别(too young~)
  • 2015年7月,一篇 多图文章 让我欠费了
  • 终于,七牛冻结了账户,果然出来混是要还的
  • 终于,我付费了,使用了标准服务
  • 继续使用 七牛 原因
    • 使用一年多,极其稳定
    • 转移成本极大,积累了近一年的图片……
    • 相比其他平台便宜太多
    • 服务器故障(小用户没啥感觉)给我发过几个红包~标准用户才可以用
  • 购买服务之后,马上将流量大户(1M以上的图片)换了
  • 最近几个月平均消费:每月15元左右
  • 挺好,这消费证明我的博客还有人看……
  • 付费心血教训:上传图片必须限制在 200 k 以内呐
  • 想起以前,2 M 的图片,眼都不眨一下……

以往方案

背景终于啰啰嗦嗦地介绍完了,说说以前我是如何上传并使用七牛图床的吧~

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

一张图片用了四步呐,想想这篇文章的图片都是如此上传的,还真是作死。

世界并非如你所见——用可供性来发现更大的世界

转折

折腾起来

准备工具及我的配置

  • 七牛账户一枚,或拥有 七牛 的 AccessKey/SecretKey,已有建立的空间
    • 例如我的七牛云空间(bucket)名字就是 cnfeat
    • 假设我的 AccessKey 是 cnfeat1234
    • 假设我的 SecretKey 是 cnfeat5678
  • chrome 浏览器

简单的实现方法

  • 填写完成,会出现如下界面,
  • 将图片拖入,出现图片外链地址,复制即可

命令行折腾

以上的结果已经满意了吗?NO! NO! NO!

用命令行才是王道!以下是我用 命令行折腾七牛云同步 准备的工具

  • Mac,Mac 的用户名是 cnfeat,以下的教程请自觉将用户名替换成你的
  • 下载好qrsync 命令行同步工具,放在得出名为 qrsync 的文件
    • 文件地址:/Users/cnfeat/Downloads/qiniu-devtools-darwin_amd64-v2.6.20131211/qrsync
    • 注:以下的教程只会用到 qrsync 文件。
  • sublime

以下的操作基本是按照七牛云的官方文档 qrsync 命令行同步工具 来操作,如有不明白,请移步官方文档

配置 qrsync

配置目的:能在 终端 直接调用 qrsync 命令

  • 方法:将 qrsync 文件放入 /usr/local/bin/
    • 知识点:在/usr/local/bin/出现的 字符 都是可以直接在终端直接调用的命令行
  • 实现方法一:
    • 复制 qrsync 文件
    • 快捷键 Shift+Command+G 打开 /usr/local/bin/
    • 粘贴 qrsync 文件
  • 实现方法二:
    • 直接用复制命令行 cp
    • 打开 终端
    • 输入 cp /Users/cnfeat/Downloads/qiniu-devtools-darwin_amd64-v2.6.20131211/qrsync /usr/local/bin/
    • 意思是复制 Downloads 位置的 qrsync 文件 到 /usr/local/bin/
    • Linux基本命令学习之二---Linux基本命令

配置 conf.json

配置说明:用 conf.json将本地文件与七牛云的通道打通,将本机指定文件上传到指定的空间。

目的:将 conf.json 文件里面的语法填写正确


{
         "access_key": "Please apply your access key here",
         "secret_key": "Dont send your secret key to anyone",
         "bucket": "Bucket name on qiniu resource storage",
         "sync_dir": "Local directory to upload",
         "async_ops": "fop1;fop2;fopN",
         "debug_level": 1
 }

  • 建立 conf.json 文件
    • 用 sublime 新建文档,粘贴以上文本
    • Shift+Command+P 打开 命令面板
    • 输入 json 回车,将文件格式改为 json
    • Command+S,将其保存在/Users/cnfeat/7niu/目录下,文件名保存为 conf
    • 这样 conf.json 文件就新建好
    • 目录地址是/Users/cnfeat/7niu/conf.json

conf.json 文件下载链接: http://pan.baidu.com/s/1mgq5MRY 密码: accm

  • 配置 conf.json
    • https://portal.qiniu.com/setting/key 获取你的AccessKey/SecretKey

    • "bucket" 即你的七牛云空间名字,你的空间名字在七牛网内是唯一的

      • 例如,我的七牛云空间名字是 cnfeat
    • "sync_dir" 是你本地要上传图片文件夹的地址

      • 例如,我就在 Documents 文件夹建了 名为qrsync 的文件夹,并在里面放了一张名为cnfeat-img.jpg的图片
      • 所以,上传地址就是 /Users/cnfeat/Documents/qrsync
    • "async_ops" 是设置上传预转参数,可以留空

    • "debug_level" 默认就好

所以,最终的 conf.json 配置是这样的


{
         "access_key": "cnfeat1234",
         "secret_key": "cnfeat5678",
         "bucket": "cnfeat",
         "sync_dir": "/Users/cnfeat/Documents/qrsync",
         "async_ops": "",
         "debug_level": 1
 }

为了易于区分,我后来将 conf.json 重命名为 cnfeat.json

使用命令行同步

打开终端输入

qrsync /Users/cnfeat/7niu/cnfeat.json 

出现

2015/11/22 20:40:48 [INFO][qbox.us/qrsync/v1] qrsync.go:205: Syncing /Users/cnfeat/Documents/qrsync => cnfeat ...
2015/11/22 20:40:48 [INFO][qbox.us/qrsync/v1] qrsync.go:213: Progress file: /Users/cnfeat/.qrsync/lEfrYxfiWq48qgm95oixXg==.log
2015/11/22 20:40:48 [INFO][qbox.us/qrsync/v1] syncer.go:83: Put /Users/cnfeat/Documents/qrsync/.DS_Store => .DS_Store
2015/11/22 20:40:51 [INFO][qbox.us/qrsync/v1] syncer.go:83: Put /Users/cnfeat/Documents/qrsync/cnfeat-img.jpg => cnfeat-img.jpg
2015/11/22 20:40:51 [INFO][qbox.us/qrsync/v1] qrsync.go:184: Sync done!

显示 cnfeat-img.jpg 图片已经上传成功。

打开 http://cnfeat.qiniudn.com/cnfeat-img.jpg可以看见图片了。

至此,用 命令行 上传图片至 七牛云 的教程完成。

高阶设置

  • 虽然上传图片成功了,但是我想要得到图片外链怎么办?
  • 难道我还要到七牛云网页个人存储空间根据文件名将图片搜出来,然后复制其外链吗?
  • 那也太傻逼了吧

联想

  • 图片上传后外链的地址的前缀是固定的:http://cnfeat.qiniudn.com/
  • Markdown 图片格式是固定的:![](http://cnfeat.qiniudn.com/)
  • 每次同步图片的命令行也是固定的 qrsync /Users/cnfeat/conf.json
  • 联想到 atext
    强大

于是

  • 在 atext 设定快捷键
    • ;qr>>qrsync /Users/cnfeat/7niu/cnfeat.json
    • ;pi>>![](http://cnfeat.qiniudn.com/)

那么最终生成图片外链地址只需要

  1. 终端输入;qr
  2. 文本输入;pi 补充图片名

收工!

迭代

  • 2015-11-30 14:24:46 补增 背景 描述
  • 2015-11-29 20:08:51 更新 conf.json 目录
  • 2015-11-22 21:15:54

参考


【六经皆我注脚】

做一名黑客会有很多乐趣,但却是要费很多气力方能得到的乐趣。 这些努力需要动力。成功的运动员从锻炼身体、超越自我极限的愉悦中得到动力。 同样,做黑客,你得能从解决问题,磨练技术及锻炼智力中得到基本的乐趣。

—— Eric S. Raymond 《如何成为一名黑客》


  • 陈素封@开智
  • 公众号:cnfeat
  • Blog:cnfeat.com

(题图:七牛云存储)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 142,461评论 1 300
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 61,089评论 1 256
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 94,078评论 0 212
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 40,938评论 0 175
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 48,698评论 1 255
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 38,733评论 1 175
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 30,340评论 2 268
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,138评论 0 165
  • 想象着我的养父在大火中拼命挣扎,窒息,最后皮肤化为焦炭。我心中就已经是抑制不住地欢快,这就叫做以其人之道,还治其人...
    爱写小说的胖达阅读 28,949评论 6 229
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 32,493评论 0 213
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,269评论 2 214
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 30,591评论 1 229
  • 白月光回国,霸总把我这个替身辞退。还一脸阴沉的警告我。[不要出现在思思面前, 不然我有一百种方法让你生不如死。]我...
    爱写小说的胖达阅读 24,216评论 0 31
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,107评论 2 213
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 31,485评论 3 204
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,615评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,006评论 0 167
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 33,496评论 2 230
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 33,572评论 2 230

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,373评论 25 707
  • 七牛的特性 一般的云盘是双向数据同步空间服务,如何解释呢?举个例子百度云、微云、360网盘、dropbox 等就是...
    超net阅读 7,651评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,001评论 18 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,460评论 4 58
  • 忘了有多久,没有给生活保鲜,于是发现身边的一切都变质了。蔬菜会腐烂,房租会到期,晴天变阴天,笑脸变鬼脸,那些我喜欢...
    毛竹君阅读 98评论 0 0