Typora使用Upgit配置图片自动上传阿里云OSS
本文最后更新于:4 分钟前
之前一直使用的Github作为博客图床,但是由于后续国内使用效果不佳,并且Github本质上是开源平台,这样占用也不是很好。就打算将图床搬到阿里云OSS上了,正巧看到一直在使用的Upgit更新了对阿里云OSS的支持,于是便有此文。
upgit下载
(注意当前为错误操作)博主本来直接拉取的当前最新版本upgit v0.2.25,如图
然后按照文档给出的操作按部就班的弄
但是在测试的时候老是报错 extensions: The system cannot find the file specified.
如图
起初还以为是路径包含中文,但是换了几个路径验证了不是这个原因。观察了一番提交记录后才发现对阿里云OSS的支持的修改晚于最新版本发布时间。所以目前需要自行编译源码,如图
项目整体使用GO语言编写,所以需要下载GO编译器。可以参考相关安装教程
将项目整体拉取至本地
1 |
|
进入文件夹并将其进行编译为二进制可执行文件
1 |
|
如果出现超时或者网络错误可以使用如下命令切换GO下载代理
1 |
|
执行以上命令后在dist
文件夹里就会出现upgit_win_amd64.exe
文件,即为最新版。
将这个exe程序重新按照官方文档的操作即可。
在这一步出现其它问题可以参考:UPGIT切换其他图床
阿里云OSS配置相关参见文档
config.toml配置参考
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50# =============================================================================
# UPGIT 配置
# =============================================================================
# 默认上传器
default_uploader = "aliyunoss"
# 上传文件名的格式模板(仅特定上传器适配)
# / 目录分隔符, 作用: 是区分目录
# {year} 年份, 例如: 2022
# {month} 月份, 例如: 02
# {day} 天, 例如: 01
# {unix_ts} 时间戳, 例如: 1643617626
# {fname} 原始文件名,如 logo (不含后缀名)
# {fname_hash} {fname}的 MD5 散列值
# {ext} 文件后缀名, 例如.png
# 下面的例子生成的文件名预览: 2022/01/upgit_20220131_1643617626.png
# 如果目录不存在将会被程序自动创建
# 修改为你存储桶里想要保存的路径,例如下:
rename = "/blog/img/typora-img/{year}/{month}/upgit_{year}{month}{day}_{unix_ts}{ext}"
# -----------------------------------------------------------------------------
# 自定义输出格式
# -----------------------------------------------------------------------------
# {url} 图片文件的网络URL地址
[output_formats]
"bbcode" = "[img]{url}[/img]"
"html" = '<img src="{url}" />'
"markdown-simple" = ""
# -----------------------------------------------------------------------------
# 直链替换规则 RawUrl -[replace]-> Url
# -----------------------------------------------------------------------------
# =============================================================================
# 以下为各个上传器的配置示例. 用不到的留空即可
# =============================================================================
[uploaders.aliyunoss]
endpoint = "你的接入点地域,例如:https://oss-cn-shenzhen.aliyuncs.com"
access_key_id = "用于操作OSS读写的子用户id"
access_key_secret = "用于操作OSS读写的子用户密码"
bucket_name = "你的存储桶名"
host = "你的存储桶地址"