zoukankan      html  css  js  c++  java
  • 搭建markdown图床-腾讯云COS

    背景介绍

    书写markdown笔记时,如何处理图片,实在是有些棘手的问题。每一张图都保存在当前文件夹?
    每张图都自己重命名?每次上传到cnblogs博客都需要一张一张拖动?markdown已经非常成功
    的实现了样式与内容的分离,但是图片是二进制文件,说什么也不可能嵌入到纯文本文件里的。

    不过本文将介绍一种方案,把所有本地的图片存放在一个固定的绝对路径里,软件自动随机重命名
    图片,不会导致文件名重复,并且利用腾讯云COS,在腾讯服务器上建立图床,完美实现,本地.md
    文档与线上markdown博客,无缝连接。

    准备工具

    统一把需要准备工具的东西放在这里,随后逐步会介绍每项工具的作用。

    vnote(markdown编辑器) https://github.com/tamlok/vnote

    COSBrowser https://cloud.tencent.com/document/product/436/11366

    vnote图片路径配置

    首先下载并安装vnote,在设置界面里设置好图片存放的外部文件夹(绝对路径),如下图所示。可以看到虽然是
    windows平台但是文件的路径分割符,不是用撬棍(),而是正常的斜线D:/as4k/xmd-img/_v_images/,这样
    配置以后,不论是使用类似QQ截图软件,还是直接在资源管理器中复制粘贴图片到vnote编辑器中,我们所有的图
    片都会自动放到我们配置好的绝对文件路径中,在编辑器中生成的路径是下面这样

    ![](D:/as4k/xmd-img/_v_images//1535811877_16848.png)  
    

    效果就像下面这样

    上图有一个文件名是带中文明显与其它文件名不一样,这是因为在往vnote中复制图片的时候,
    修改了文件名导致,建议最好直接使用随机文件名即可,如果需要自定义图片标识,可以放到
    图片的中括号里。

    到这里,想必有markdown使用经验的读者都会感受到,单凭强大的复制粘贴图片到编辑器中的功能,
    这款vnote编辑器有尤其使用价值了,毕竟我们移动.md,再也不用担心里面的图片因为路径
    不正确,从而无法正常显示的问题了,当然这还不是本篇文章的重点,不使用vnote编辑器也无妨,
    重点是接下来的腾讯云COS的应用。

    使用腾讯云COS搭建图床

    大家不要一看到图床就蒙圈了,图床就是一张图片使用网址的形式来表示而已。
    打开https://cloud.tencent.com/product/cos,创建一个自己腾讯云COS储铁桶,功能是免费的,
    只是有流量限制,使用自己的QQ号登录即可,大致流程如下图

    在腾讯COS上创建完毕自己的存储桶之后,就相当于已经拥有了一个在线存储文件的平台,就像百度网盘一样,
    所不同的是每个文件都对应一个URL网址。我们知道,在markdown编辑器中,添加图片使用本地文件和网络图片
    地址都是可以的。在线往腾讯COS上传图片就是鼠标点点点的操作,不多说了,大家可以自行体验下,可以想象
    如果每个文件都需要打开浏览器在线上传,麻烦程度不言而喻,因此我们使用COSBrowser,这款腾讯官方提供的
    上传工具来上传文件。

    使用COSBrowser同步本地和服务器上的图片

    首先在这里https://console.cloud.tencent.com/cam/capi,获取API密钥,就是用来验证用的。

    打开COSBrowser软件,输入密钥后,成功登录。下面重点来了,到目前位置我们的图片都在本地,格式如下

    ![](D:/as4k/xmd-img/_v_images//1535813612_9080.png)  
    

    现在只要把图片通过COSBrowser软件,简单的复制上传到存储服务器上,最重要的是图片文件名不变,在我们把文档
    发布到 线上博客的时候,使用替换功能即可简单的把本地图片替换成网络URL地址形式的图片。如果用的是vnote编
    写markdown的, 只需进入阅读模式,一张张拖放到COSBrowser软件,即可实现上传,也可以定位到图片到目录,
    按时间排序图片,批量上传 图片到COSBrowser软件上。

    图片在腾讯COS上的地址如下图所示

    本篇博客即是我第一次使用,腾讯COS同步图片到服务器上,本篇博客的图片都在这里

    粘贴到服务器上效果如下

    对比之后可以看到,线上图片与本地图片唯一的不通之处就在于,前缀不同。
    只需把本地D:/as4k/xmd-img/_v_images//前缀
    替换成https://md-img-1252230138.cos.ap-beijing.myqcloud.com/
    即可实现本地图片与线上图片无缝连接。

    参考资料

    腾讯云对象存储(COS)官方文档
    https://cloud.tencent.com/document/product/436/7751

    COS 标准存储的用户免费额度
    https://cloud.tencent.com/document/product/436/6240

  • 相关阅读:
    jsp 头像上传显示部分代码实现
    Spring Boot
    php好书推荐
    提升PHP编程效率的20个要素
    mysql怎么查询一条记录的前一条记录和后一条记录
    jquery load 和 iframe 比较
    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式
    每日时间计划表
    Java获取某年第一天和最后一天
    s:if 判断
  • 原文地址:https://www.cnblogs.com/asheng2016/p/9572128.html
Copyright © 2011-2022 走看看