加载中...

使用PicGo-Core 和 阿里云 实现typora图片自动上传

目录

第1章 介绍

1.1 需求以及为什么使用

typora(笔记) + PicGo/对象OSS(上传至图片) + snipaste(截图)

1.1.1 需求

  • 因为在记笔记过程中,经常遇到类似云笔记的需求,需要上传到github,从家里电脑到公司电脑不同需求,这个时候经常因为图片路径写死当至切换设备图片没有,图片就不能显示.
  • 那时候通过相对路径,每个typora文件夹对一个图片img文件夹,转移时候带着img文件夹一起转移,文档上的图片路径相对路径,但是感觉还是不太方便,图片的img文件夹经常几十兆,给别人看也不方便

1.1.2 为什么使用PicGo/对象OSS(上传至图片)

听说PicGo可以上传图片,以及通过阿里云存储图片,而github估计会有点慢,以及gitee最近被审核不清楚就放弃了!同时typora内置了PicGo 直接使用

  • 听说下载的PicGo可能会与typora自带的PicGO端口冲突?所以不使用PidcGO.exe了,使用自带的PicGo-Core

1.1 PicGo & Oss

一个用于快速上传图片并获取图片 URL 链接的工具

github: https://github.com/Molunerfinn/PicGo

PicGo 本体支持如下图床:

  • 七牛图床 v1.0
  • 腾讯云 COS v4\v5 版本 v1.1 & v1.5.0
  • 又拍云 v1.2.0
  • GitHub v1.5.0
  • SM.MS V2 v2.3.0-beta.0
  • 阿里云 OSS v1.6.0
  • Imgur v1.6.0

一些特色功能:

  • 支持拖拽图片上传
  • 支持快捷键上传剪贴板里第一张图片
  • Windows 和 macOS 支持右键图片文件通过菜单上传 (v2.1.0+)
  • 上传图片后自动复制链接到剪贴板
  • 支持自定义复制到剪贴板的链接格式
  • 支持修改快捷键,默认快速上传快捷键:command+shift+p(macOS)| control+shift+p(Windows\Linux)
  • 支持插件系统,已有插件支持 Gitee、青云等第三方图床
    • 更多第三方插件以及使用了 PicGo 底层的应用可以在 Awesome-PicGo 找到。欢迎贡献!
  • 支持通过发送 HTTP 请求调用 PicGo 上传(v2.2.0+)

1.2.1 PicGo-Core

PicGo-Core是PicGo2.0版本里将会预置的底层核心组件。它可以看做是一个简单的上传流程系统。

特性:

  • 支持CLI调用
  • 支持API调用
  • 支持插件系统

4个部件:

  1. Input(输入):接受来自外部的图片输入,默认是通过路径或者完整的图片base64信息
  2. Transformer(转换器):把输入转换成可以被上传器上传的图片对象(包含图片尺寸、base64、图片名等信息)
  3. Uploader(上传器):将来自转换器的输出上传到指定的地方,默认的上传器将会是SM.MS
  4. Output(输出):输出上传的结果,通常可以在输出的imgUrl里拿到结果

1.2.2 阿里云对象OSS

阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,多种存储类型供选择,全面优化存储成本。

OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

您可以选择标准存储:

  • 移动应用、大型网站、图片分享或热点音视频的主要存储方式,
  • 也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive)作为不经常访问数据的存储方式

因为我们只是需要一个可以存放图片的地方,所以选择了阿里云的对象OSS

  • 存储类型(四种不同类型)

    • 标准存储类型: 提供高持久、高可用、高性能的对象存储服务,能够支持频繁的数据访问
    • 低频访问存储类型适合长期保存不经常访问的数据(平均每月访问频率1到2次),存储单价低于标准类型;
    • 归档存储类型适合需要长期保存(建议半年以上)的归档数据;
    • 冷归档存储适合需要超长时间存放的极冷数据。
  • 存储空间(Bucket):

    (英语翻译?; 桶;一桶之量;(机器的)挖斗,铲斗;大量;投篮得分;存储桶) 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。您可以根据实际需求,创建不同类型的存储空间来存储不同的数据。

  • 对象(Object)

    对象是OSS存储数据的基本单元,也被称为OSS的文件。对象由元信息(Object Meta)、用户数据(Data)和文件名(Key)组成。对象由存储空间内部唯一的Key来标识。对象元信息是一组键值对,表示了对象的一些属性,例如最后修改时间、大小等信息,同时您也可以在元信息中存储一些自定义的信息。

  • 访问密钥 (AccessKey)

    AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。OSS通过使用AccessKey ID和AccessKey Secret对称加密的方法来验证某个请求的发送者身份。AccessKey ID用于标识用户;AccessKey Secret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密。

第2章 使用

2.1 typora

typora(笔记) + PicGo/对象OSS(上传至图片) + snipaste(截图)

至少需要: 一个阿里云账号和¥9元(一年)以及安装好的typora

2.1.1 typora 设置

  1. 打开【Typora】,点击左上角【文件】,【偏好设置】

image-20220621135953527

  1. 点击【图像】,选择【PicG0-Core(command line)】,点击【下载或更新】

image-20220621140327535

下载完就成功了, 如果下载失败且无魔法(暂时不知道怎么办)

2.2 对象OSS

2.2.0 OSS购买

访问阿里云,选择折扣套餐

image-20220621140730347

image-20220621140849504

2.2.1 创建Bucket

创建Bucket,填写名称和设置相关配置,Bucket名称后面会用到

相当于买了一个可以存放东西的数据库,现在Bucket相当于库中专门放图片的地方

image-20220621141525257

存储类型: 低频估计就是这个资源很少访问?估计图片不符合要求

同城冗余: 估计就是(比如杭州一个城市, 把你的数据放在杭州的三个地方存储, 防止其中一个出问题,另一个可以补救, 估计还有不同城市存储, 不过要花钱就没有选择)

版本控制: 感觉也是可以回滚到之前版本, 防止误删等操作,不知道要花钱也不选择

反正全部默认,不开通.

2.3 typora的 config配置

  1. 打开【Typora】,点击左上角【文件】,【偏好设置】,点击【图像】,【打开配置文件】

  2. 复制下面内容粘贴到打开的配置文件【config.json】

    image-20220621142920154

  3. 获取accessKeyId和accessKeySecret

    1. 右上角【用户头像】,点击【AccessKey管理】
    2. image-20220621142523695
    3. 没有则 创建新的
  4. image-20220621142552645image-20220621142603146

    1. 获取”bucket”,“area“,”customUrl“
      1. 点击进入管理控制台,点击【Bucket列表】,找到之前创建的Bucket名称并点击
    1. image-20220621142724982

      1. 点击概览,填写对应的【config.json】文件
    2. image-20220621142736814

{
  "picBed": {
    "uploader": "aliyun",
    "aliyun": {
    "accessKeyId": "",
    "accessKeySecret": "",
    "bucket": "", // 存储空间名
    "area": "", // 存储区域代号
    "path": "img/", // 自定义存储路径
    "customUrl": "", // 自定义域名,注意要加 http://或者 https://
    "options": "" // 针对图片的一些后缀处理参数 PicGo 2.2.0+ PicGo-Core 1.4.0+
    }
  },
  "picgoPlugins": {}
}

例子:

image-20220621142802371

2.4 上传测试

image-20220621142853508

上传成功则显示

image-20220621142944547

到这里PicGo Core+阿里云OSS搭建的图床就成功了

2.5 使用注意事项

因为所有参考文章到这里就结束了,我只能自己摸索

  1. 首选你使用Snipaste截图,复制

image-20220621143350040

  1. 在偏好设置

image-20220621143527386

3.这时候图片被复制时就会自动上传,将本地地址变成 上传阿里云的地址

image-20220621143652893

  1. 或者对已经存在的图片,右键点开手动上传

image-20220621143806577

注意: 如果以前全部的文档不可能手动一个一个上传,所以可以

通过右上角菜单栏 格式 图像 上传全部本地图片

image-20220621143927337

第三章 高级使用

暂无探索

第四章 总结

4.1 优点:

  1. 比较方便,使用内置PicGo-Core,无需下载, 直接上传图片,不需要在点开exe程序在使用
  2. 阿里云相对于github速度较快,gitee应该也速度不错(不过最近的审核...)

4.2 缺点:

  1. PicGO有许多功能,因为使用了内置命令行Core,导致这些功能例如

    • 支持网页图片拖拽上传

    • 相册支持全选、shift多选

    • 支持导出图床配置二维码与手机客户端联动

    • .......

    不能使用,略有遗憾

  2. 虽然对象OSS的花费不高,但还是花费钱,不是github这种可以免费.而且OSS虽然一年便宜但是以后日积月累,花销也是蛮大的.

注意:本文部分参考:(利用PicGo Core+阿里云OSS搭建图床)https://developer.aliyun.com/article/921570

posted @ 2022-06-21 15:49  佩弦的小风  阅读(410)  评论(1编辑  收藏  举报