[TOC]
介绍
Typora QCloud Cos 是一个基于 Python 开发的 Typora 图片上传插件。可以自动地将 Typora 中的图片上传到腾讯云对象存储。
特性:
- 支持本地图片和网络图片上传(将图片复制并粘贴到 typora)
- 通过图片字节流识别图片格式
- 通过 md5 避免重复上传图片
- 简单,只需3步配置
- 小巧,只有 21k
- 开源,提供了UML类图,方便熟悉Python的小伙伴了解源码
为什么
通过 Typora QCloud Cos 将图片上传到腾讯云对象存储并得到图片外链,可以将 Markdown 文本和图片存储解耦,使得可以在任何地方浏览 Markdown 并且正常显示图片。
Typora
腾讯云对象存储定价
如何使用
视频教程:
bilibiliwww.bilibili.com youtubewww.youtube.com第一步,安装 Python 和 插件:
下载和安装 Python,安装时记得勾选 Add Python to PATH
选项
# 安装 typora_cos
pip install -U typora_cos
第二步,执行以下命令生成配置文件,并用记事本打开:
python -m typora_cos.qcloud --init
# 已生成配置文件,请继续完成配置: C:Usersliaoz.typora_cosconfig.xml
从 https:// console.cloud.tencent.com /cam/capi 获取SecretId
和SecretKey
从 https:// console.cloud.tencent.com /cos5/bucket 创建存储桶并得到存储桶名称bucket
和 所属区域region
创建存储桶时需要勾选 公有读私有写
选项
![v2-2fb9e2522ea066ecbc514a71bdf0a0ac_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=5d79a420-b82e-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-2fb9e2522ea066ecbc514a71bdf0a0ac_b.jpg)
![v2-23577fbc642719f38666eaf3fbdb5fb8_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=5d79a420-b82e-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-23577fbc642719f38666eaf3fbdb5fb8_b.jpg)
第三步 (可选),在命令行进行测试
python -m typora_cos.qcloud https://www.python.org/static/img/python-logo.png
# 已成功上传:
# https://test-1253318070.cos.ap-nanjing.myqcloud.com/7cbb8b7f3ec73ce6716fedaa4d63f6ce.png
python -m typora_cos.qcloud C:UsersliaozPicturesmc.jpg
# 已成功上传:
# https://test-1253318070.cos.ap-nanjing.myqcloud.com/739d7e571980d16ad192ff72e4f2d5d9.jpeg
第四步(最后一步),typora 设置:
文件 -> 偏好设置 -> 自定义命令 -> python -m typora_cos.qcloud
![v2-70fb662daba495aea3335b68e6f0390f_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=5d79a420-b82e-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-70fb662daba495aea3335b68e6f0390f_b.jpg)
已知问题:
- 网络图片的URL不能包含请求参数(不能包含
&
字符)
设计
如果大家对源码感兴趣,欢迎访问项目地址:
廖子博/Typora QCloud Cosgitee.com![v2-3668ca647aa55464d18b78a79e454a90_ipico.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=5d79a420-b82e-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-3668ca647aa55464d18b78a79e454a90_ipico.jpg)
流程:
- 输入一个或多个路径
- 将路径转换成字节流
- 将字节流抽象成对象存储文件类
- 执行上传操作,返回 URL
设计模式:策略模式+简单工厂方法、外观模式、简单工厂方法
其他:配置和代码解耦
![v2-2f9de92e94fee288f5ff86939c758b49_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=5d79a420-b82e-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-2f9de92e94fee288f5ff86939c758b49_b.jpg)