本文最后更新于2022年3月2日,已超过 60 天没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

为Typora配置图床


Typora是一个简洁高效的markdown编辑器,然而markdown文件本身并不支持内嵌图片(即图片和文本文件是分开保存的),这样的话不管是分享给朋友还是贴在博客上都是很麻烦的,好在Typora提供了快捷的上传图床的功能,贴在Typora上的图片可以自动上传到图床并返回链接插在文本中。

【注意】:如果白嫖B站图床可以直接跳过这些到最下面一栏, 白嫖永远是最爽的

1.OSS图床

OSS为阿里云的对象存储服务,当然还有很多图床,如果有服务器的话,也可以自行搭建。不过阿里云速度可以,而且价格为9元/年。所以接下来的教程以OSS为基础,主要是我已经搭了阿里云,不想折腾其他的啊

1.1 阿里云OSS购买和配置

登录阿里云,在 阿里云->产品->对象存储OSS ,打开下面的面板,可以选择这个默认的购买,后续有其他要求可以续费或者升级

555340cfb93636393cdc083e1316f735

购买完成之后,进入控制台,选择对象存储OSS

38df49a6cad9c231413c29cff5e7c0d0

最右边的Bucket管理,点击创建Bucket按钮

ed68d29285a7e4ef99d393a3cc6216e5

填写Bucket

941c94dbd10b8640106ac824ae10ee48

  1. Bucket名称 (接下来的配置中会用到)
  2. Endpoint的地址(接下来的配置中会用到)
  3. 版本控制对于图床没什么用,建议不开通
  4. 选择公共读

1.2 设置一个子用户

接下来使用typora上传图片会做一个登录操作,由于主用户具有云山的所有权限,被控制的话损失很大,因此用子账户并且仅授予其oss的一个Bucket的操作权限,就会安全很多。

左上角选择AccessKey管理

image-20220228233858495

在弹出的对话框选择,创建子用户

image-20220228234015581

e5def991a2cdb368acb41944804b0c20

079ecceaf0272d52f5d5d643ad90c75d

对这个用户进行权限管理,选择AliyunOSSFullAccess——管理对象存储服务(OSS)权限

f5e40e15c07ab88cbf4cb688920dab50

如果你创建用户的时候没有记下AccessKeySecret,就只能重新创建了,注意一定要记下来

8ed99fffb587fd2f94b6829c44b8244e

424c166393c044787afb5d0d2ed41108

现在,整理上面的结果,我们一共拿到了

  • Bucket名称
  • Endpoint的地址
  • AccessKeyID
  • AccessKey Secret

这四个数据

【注意】:这里先别急着配置PicGo,这三种方式只需要选其中一种,个人推荐python脚本,因为PicGo每次使用都需要运行软件,很消耗资源,B站图床虽然免费,不过什么时候会失效是未知的,如果很珍视自己的博客,建议选第二种

2.使用PicGo软件+OSS

在Typora的 文件->偏好设置->图像 ,首先下载PicGo软件,然后对这个界面的参数和我一样配置

image-20220228235002852

打开PicGo后9187fea36595c58648f3c6ff85667e73

  1. KeyId 是 AccessKey ID
  2. Secret 是 AccessKeySecret
  3. 存储空间名字 是 Bucket名称
  4. 确认存储区域,需要对上面的 Endpoint的地址 做些修改,比如你的是,oss-cn-beijing.aliyuncs.com 那么这里就是 `oss-cn-beijing,去掉阿里云的后缀
  5. 指定存储路径,随意吧,最好是有个路径区分。比如,img/,这样子可以去阿里云OSS上面看到对应的文件夹,比较好整理

3.使用python脚本+OSS

import oss2,sys,os

app_key = 'XXXXXXX'   # AccessKey ID
app_secret = 'XXXXXXX'  # AccessKeySecret
oss_url = 'oss-cn-beijing.aliyuncs.com'  # Endpoint的地址
bucket_name = 'XXXX'  # Bucket名称
catalog = 'img/'  # 上传至img/目录

auth = oss2.Auth(app_key, app_secret)
bucket = oss2.Bucket(auth, f'http://{oss_url}', bucket_name)
file_list = sys.argv[1:]
url_list = []
for file in file_list:
    file_name = catalog + os.path.basename(file)
    with open(file, 'rb') as f:
        bucket.put_object(file_name, f)
    url = f'https://{bucket_name}.{oss_url}/'+file_name
    url_list.append(url)
print("Upload Success:")
for url in url_list:
    print(url)

上面几行代码就能搞定,保存为 oss_python.py

image-20220301000828381

其中命令栏中的代码为

python E:\Desktop\Projects\上传oss图床\oss_python.py #即指定oss_python.py文件运行

4.白嫖B站图床

人家作者开了github项目做了详细讲解我就不细说了,贴个传送门

都配置完成后,可点击 验证图片上传选项来检验

image-20220301001620244


有帮助的话请打个赏吧!