文章目录
- 通过Typora + PicGo + 阿里云对象存储(OSS)实现图床
- 1 准备工作
- 1.1 阿里云对象存储 OSS配置
- 创建oss存储空间bucket
- 获取AccessKey
- 1.2 PicGo配置
- 1.3 Typora配置
- 2 使用流程
- 3 常见问题和解决
- 3.1 创建asesskey
- 3.2 You have no right to access this object because of bucket acl
- 可能原因:
- 解决方法:
- 4 优化
- 4.1. 优化 OSS 配置
- 1 开启 OSS 的 CDN 加速
- 2 设置 OSS 的权限
- 3 定期清理 OSS 图片
- 4.2 安全优化
- 1 使用子用户 AccessKey
- 2 定期更换 AccessKey
- 3 开启 OSS 的日志功能
- 5. 其他优化建议
通过Typora + PicGo + 阿里云对象存储(OSS)实现图床
在 Typora 中使用 OSS(对象存储服务)作为图床,可以实现图片的自动上传和存储,方便在 Markdown 文档中插入图片。
-
Typora:下载并安装 Typora 编辑器,它是一款支持 Markdown 编辑的工具。
-
PicGo:下载并安装 PicGo 软件,它是一个用于管理图床的工具。
-
对象存储(OSS):一种云存储服务,用于存储非结构化数据(如图片、视频、文档等),常见的云服务提供商如阿里云、腾讯云、华为云等都提供 OSS 服务。
1 准备工作
1.1 阿里云对象存储 OSS配置
创建oss存储空间bucket
开通阿里云对象存储功能
登录阿里云 OSS 控制台,点击“创建存储空间”。
在弹出的对话框中,填写存储空间名称(需全局唯一)、地域(建议选择离自己近的地域以提高访问速度)、读写权限(选择“公共读”,这样图片才能被外部访问)等信息,然后点击“确定”。

关闭阻止公共访问,默认情况是打开状态,上一步骤创建完成,点击进入对应的bucket,左侧栏目看到权限控制-》阻止公共访问,操作之后如下图。

设置图片读写权限,点击读写权限标签栏,设置公共读。
获取AccessKey
用户名密码登陆阿里云
主界面右侧,鼠标点击看到AccessKey这一项,点击如图

创建Accesskey和子用户Accesskey,在弹出的安全验证窗口中,选择一个方式来通过安全验证

创建Accesskey完成后会下载一个csv文件,里面有AccessKey ID 和 AccessKey Secret ,一定要保存好,不要泄露。

1.2 PicGo配置

下载:https://molunerfinn.com/PicGo/
安装:下载exe文件,双击,下一步,安装
配置
打开PicGo软件,配置阿里云OOS,AccessKeyId,AccessKeySecret,Bucket,存储区域

上面生成的AccessKey填写再设定KeyId,KeySecret
bucket名称在这里

设定存储区域 oss-cn-beijing

1.3 Typora配置
下载 https://www.onlinedown.net/soft/10047520.html
安装 点击下一步
配置 PicGo

2 使用流程
2.1 截图到剪切板
2.2 复制到md文档

3 常见问题和解决
3.1 创建asesskey
-
登录阿里云控制台:打开阿里云官网(https://www.aliyun.com/),使用你的账号登录阿里云控制台。
-
进入 Access Key 管理页面:登录后,将鼠标悬停在页面右上角的账号名称上,在下拉菜单中选择“AccessKey 管理”。
-
创建 Access Key
:
- 如果你是第一次创建
Access Key,可以直接点击“创建 Access Key”按钮。 - 若之前创建过,需要按照系统提示进行身份验证(如短信验证码验证),验证通过后才能创建新的
Access Key。
- 如果你是第一次创建
-
保存 Access Key 信息:创建成功后,系统会弹出一个窗口显示
AccessKey ID和AccessKey Secret,请务必将这些信息妥善保存,因为AccessKey Secret只会显示一次,一旦关闭窗口就无法再次查看,若不慎丢失,只能重新创建。
3.2 You have no right to access this object because of bucket acl
根据错误信息提示“You have no right to access this object because of bucket acl”,这表明您尝试访问的对象由于存储桶(Bucket)的访问控制列表(ACL)配置,导致您没有权限访问该对象。以下是可能的原因和解决方法
可能原因:
- 存储桶的ACL权限限制
存储桶的所有者可能设置了严格的ACL权限,仅允许特定用户或账户访问。 - 对象权限未正确配置
即使存储桶的ACL允许访问,对象本身的权限可能被设置为私有,导致您无法访问。 - IAM权限不足
如果您使用的是云服务(如AWS S3、阿里云OSS等),您的IAM角色或用户可能没有足够的权限访问该存储桶或对象。 - 跨域访问限制
如果您通过网页或其他跨域方式访问,存储桶可能未配置正确的CORS(跨域资源共享)策略。
解决方法:
- 检查存储桶的ACL设置
- 登录到云服务控制台(如AWS S3、阿里云OSS等)。
- 找到目标存储桶,检查其ACL设置,确保您的账户或用户组有访问权限。
- 如果存储桶是私有的,可以尝试将其设置为公开读取(public-read),或者添加您的账户到允许访问列表中。
- 检查对象的权限
- 确保目标对象的权限设置为允许访问。
- 如果是私有对象,您需要获取对象的签名URL或临时访问令牌。
- 检查IAM权限
- 如果您使用的是IAM角色或用户,确保其策略中包含访问该存储桶和对象的权限。例如,在AWS S3中,策略需要包含
s3:GetObject和s3:ListBucket权限。
- 如果您使用的是IAM角色或用户,确保其策略中包含访问该存储桶和对象的权限。例如,在AWS S3中,策略需要包含
- 配置CORS策略(如果需要)
- 如果通过网页访问,确保存储桶的CORS策略允许您的域名访问。
- 联系存储桶所有者
- 如果您无法修改存储桶或对象的权限,请联系存储桶的所有者,请求其授予您访问权限。
4 优化
4.1. 优化 OSS 配置
通过优化 OSS 的设置,可以提高图片访问速度和安全性。
1 开启 OSS 的 CDN 加速
- 进入阿里云 OSS 控制台,选择你的 Bucket。
- 在“域名管理”中,绑定自定义域名,并开启 CDN 加速。
- 在 PicGo 中,将“自定义域名”设置为 CDN 加速的域名。
2 设置 OSS 的权限
- 在 OSS 控制台中,进入 Bucket 的“权限管理”。
- 将 Bucket 的读写权限设置为 私有,避免图片被恶意访问。
- 在 PicGo 中,确保使用 AccessKey 上传图片。
3 定期清理 OSS 图片
- 在 OSS 控制台中,使用“生命周期管理”功能,设置自动删除过期图片。
- 定期手动清理不再使用的图片,节省存储空间。
4.2 安全优化
1 使用子用户 AccessKey
- 在阿里云 RAM 控制台中,创建一个子用户,并授予该用户 OSS 的读写权限。
- 使用子用户的 AccessKey 配置 PicGo,避免使用主账号的 AccessKey。
2 定期更换 AccessKey
- 定期更换 AccessKey,避免因泄露导致的安全问题。
- 更换 AccessKey 后,记得更新 PicGo 中的配置。
3 开启 OSS 的日志功能
- 在 OSS 控制台中,开启日志功能,记录所有访问和操作日志,方便排查问题。
5. 其他优化建议
- 使用 Markdown 图片语法:在 Typora 中,使用 语法插入图片,确保图片链接可移植。
- 备份 OSS 图片:定期将 OSS 中的图片备份到本地或其他存储服务,防止数据丢失。
- 优化图片大小:在上传前,使用工具压缩图片,减少存储空间和加载时间。



















