zoukankan      html  css  js  c++  java
  • 七牛对象存储的使用

    Jekyll个人网页是个好技术,github.com是个好网站,不过存储容量和流量的限制是个头痛的事情,当然,也在情理之中。
    好在我们生于“云”的时代,有很多办法来扩展我们的世界。在引用图片方面,主要的要求就是服务商可以提供外链。由于在国内,我们的选择少了一些,不过还是有几个优选的:

    • 百度图片,网址是https://timgsa.baidu.com,图片可以外链,缺点是路径太长,在Markdown源文件中看起来很丑也难操作。另外图片来源主要靠搜索,难以表达自己的精确要求。
    • 新浪图片,在微博中上传的图片就可以使用,外链的地址是:http://sinaimg.cn。当然对于微博用户来说,一堆跟微博本身毫无关关联的图片看起来有点让人费解,不过用起来还是很好用的。
    • 七牛云,也是个良心商家,至少当前还是,只需要实名认证一下就有免费账号可以用。而且做为一个开发者的服务平台,提供了丰富的API来进行自动化的管理,支持图片、视频等一切可存储的对象。这也是我当前的主存站和今天的主题。

    七牛的注册、认证这里就不说了,控制台的网址是https://portal.qiniu.com/。关键要说的是对于普通人员用起来感觉困难的地方:

    • 如果你是程序员,当然最好的办法是根据api使用文档编写自己的接口,完成彻底的自动化工作。api文档地址是:https://developer.qiniu.com/kodo
    • 如果你懒得自己写,七牛有一组用这些API开发的工具供你选择,这些工具包括Windows之下的同步上传工具,命令行的QShell,还有另外两款辅助工具和迁移工具。我们今天的重点说QShell,说明及下载地址是:https://developer.qiniu.com/kodo/tools/1302/qshell
    • 首先在七牛网页控制台个人中心->秘钥管理中查询自己的AK和SK,这两个秘钥可好好记录下来。
    • 在控制台添加对象存储功能,添加时要填写一个存储的名字还有选一个服务器地理位置。添加完成从控制台左侧选择对象存储图标,屏幕右上角的位置会出现一个为你临时生成的域名xxxxx.bkt.clouddn.com,将来你存储到七牛云的文件,可以使用这个域名访问。七牛云专门说了这个域名是临时测试使用的,有访问次数和流量的限制,不过据说对于个人博客来说一般都够用了。不够用的可以根据说明捆绑域名。
    • 下载的qshell改一个短一点你喜欢的名字,我就直接叫qshell了,使用chmod +x qshell设置执行权限,然后移动到/usr/local/bin文件夹以便随时调用。
    • 第一次使用首先执行qshell account 你的ak 你的sk,这回在~/.qshell/生成一个文件account.json文件,其中保存了你的账户信息,以后执行qshell各项功能,就不需要再次登陆了。
    • 在电脑本地选择一个文件夹作为对应云端存储的本地空间,为了说明方便,我们假定是~/fileStorage/,在之下可以建立自己的目录结构并存储自己的各项文件,将来上传后,~/fileStorage/下面保存的文件,就对应到你七牛测试域名的根目录。随后在你的工程下面建立一个upload.conf文本文件,内容为:
    {
    //使用时请删除这些注释行
    //本地存储路径
    "src_dir" : "~/fileStorage",
    "bucket" : "你的存储名",
    //下面几项不用解释了吧,懂的就懂了,不懂翻译成中文还是不明白
    "check_hash"	:	true,
    "check_exists"  :   true,
    "check_size"    :   true,
    "rescan_local"  :   true,
    //上传时保持目录结构
    "ignore_dir" : false
    }
    
    • 假设你有一个文件,~/fileStorage/abc/def.jpg,上传后,使用http://xxxxx.bkt.clouddn.com/abc/def.jpg就能访问到。在你的jekyll文章中,使用![](http://xxxxx.bkt.clouddn.com/abc/def.jpg)可以把这张图片插入到你的文章中。
    • 上传的命令为:qshell qupload upload.conf,我一般把git的操作及qshell操作一起写入一个脚本,每次写完执行一次就同时完成了文章的上传和图片的上传。不怕献丑,贴出来我的脚本给你参考一下:
    #!/bin/bash
    
    git add . 
    git commit -m "$1"
    git push
    qshell qupload qshellupload.conf
    #此外,qshell还可以增加一个线程数参数,来并行上传加快速度,比如下面这条8线程上传:
    #qshell qupload 8 qshellupload.conf
    
    
  • 相关阅读:
    4星|《门口的野蛮人2》:美国宝万之争专业户KKR公司的疯狂借债收购史
    3星|《多样性红利》:10年旧书,《群体智慧》的注解版,习题集性质
    4星|《财经》2018年第26期:全国流感疫苗供应不足
    互联网行业的左其盛好评书21本
    华为相关6本书,都不值得读
    3.5星|《产品觉醒》:针对互联网商业和产品的评论与思考,有实践有洞察
    3星|埃森哲《机器与人》:基于人工智能新闻甚至宣传稿的畅想与分析
    3星|《华为终端战略》:华为手机大事记,企业宣传稿风格
    2.5星|《极简企业史》:资料汇编,一大半内容是相关图书简介
    AspNet Core 发布到Linux系统和发布IIS 注意项
  • 原文地址:https://www.cnblogs.com/andrewwang/p/8536477.html
Copyright © 2011-2022 走看看