美文网首页iOS技巧学习_JM产品经理Python
如何使用七牛云做为图床?

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

作者: 陈素封 | 来源:发表于2015-11-30 21:20 被阅读14276次

    题图:七牛云存储

    背景

    • 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

    (题图:七牛云存储)

    相关文章

      网友评论

      • asins:qsync工具下载地址变了,https://developer.qiniu.com/kodo/tools/1301/qrsync,七牛官方好像也不再维护这工具了。
      • 彩色的笔:不想折腾的可以试下用 mweb 写博客,可以一键上传 7 牛云,
        另外一个麻烦点的方法是使用 yotuku 这个图床,可以绑定 7 牛云
      • 产品初心:想问一下,你的博客是怎么搭建的
      • 阏男秀:哈哈哈容量和流量~
      • dataMaster:搞这麻烦?https://developer.qiniu.com/kodo/tools/qrsbox 看官方的:
        qrsbox 是七牛云存储提供的同步上传客户端工具,支持 Linux、Mac OS X、Windows 等操作系统。使用 qrsbox,可将用户本地某个目录的所有文件同步上传到七牛云存储中,同时监控目录变化,将目录中新增的文件也上传至七牛云存储。

        配合操作系统已有的强大文件管理功能(分级存放、按指定项目排序、查找匹配指定条件的文件等),即可轻松优雅地完成繁复的文件管理事务。

        注意:qrsbox 不会同步文件的删除操作。也就是说,如果受监控的目录中有文件被删除,已上传至七牛云存储的文件副本仍旧保留。如果用户确实需要删除该文件,可以到七牛开发者平台中删除。这一设计的目的是为了防止误删文件造成数据丢失。同时还可以收获另一个好处,就是同步上传完一个文件后,本地可以马上删除该文件以释放磁盘空间。

        注意:

        qrsbox 的 Windows版本适用于华东,华北,华南,北美机房。
        qrsbox 的 Mac 和 Linux 版本仅适用于华东空间,其他地区的空间可以使用qshell。

        功能特性
        支持配置文件
        支持大文件上传
        支持增量部分同步更新
        支持在后台运行监控

      • 005846b28e0a:所以说流量和容量的区别是什么?
      • c46e1ae6ef75:挺不错,其实Windowns下的MPic这款图床神器也非常不错,他就是为博客贴图而生,设置一下七牛云账号,就可以截图上传、拖曳上传、点击上传、复制上传,不仅如此还支持历史记录查看,网页端批量上传功能,官网给你:http://mpic.lzhaofu.cn
        c46e1ae6ef75:@dcxj168 稳定
        小裴走世界:你好,稳定不,网站会不会瘫痪
      • e2f51e8cb723:果然懒人出奇迹,厉害
      • deactivateuser:qrsync 命令行上传同步工具已废弃 http://developer.qiniu.com/code/v6/tool/qrsync.html
      • ITJason:其实,可以试试图床神器 iPic: http://toolinbox.net/iPic/ 有多种方式上传图片、并保存 Markdown 链接,除了七牛,还支持又拍、阿里云 OSS 等图床。
      • 安先生慢面包:看到后面,还是有点后怕了。感觉都是代码控的问题啊。
      • 章鱼狗:py课后,用软件都长了个心眼:命令行怎么实现
      • 晚晴幽草:简洁是王道,赞啊,折腾起来,让一劳以永逸。
      • SkyWatcher:非常不错。之前也是很烦各种图片问题,后来接触七牛后写了个图床,稳定快速,裁剪方便,不过还是觉得麻烦,LZ方法很不错

      本文标题:如何使用七牛云做为图床?

      本文链接:https://www.haomeiwen.com/subject/wdejhttx.html