通过Typora + PicGo + 阿里云对象存储(OSS)实现图床

news2025/3/31 6:46:41

文章目录

  • 通过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 控制台,点击“创建存储空间”。

在弹出的对话框中,填写存储空间名称(需全局唯一)、地域(建议选择离自己近的地域以提高访问速度)、读写权限(选择“公共读”,这样图片才能被外部访问)等信息,然后点击“确定”。

image-20250320200003022

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

image-20250320200118533

设置图片读写权限,点击读写权限标签栏,设置公共读。

获取AccessKey

用户名密码登陆阿里云

主界面右侧,鼠标点击看到AccessKey这一项,点击如图

image-20250320200536729

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

image-20250320213715118

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

image-20250320213739356

1.2 PicGo配置

image-20250320214108415

下载:https://molunerfinn.com/PicGo/

安装:下载exe文件,双击,下一步,安装

配置

打开PicGo软件,配置阿里云OOS,AccessKeyId,AccessKeySecret,Bucket,存储区域

image-20250320214316437

上面生成的AccessKey填写再设定KeyId,KeySecret

bucket名称在这里

image-20250320214556867

设定存储区域 oss-cn-beijing

image-20250320214656669

1.3 Typora配置

下载 https://www.onlinedown.net/soft/10047520.html

安装 点击下一步

配置 PicGo

image-20250320215058526

2 使用流程

2.1 截图到剪切板

2.2 复制到md文档

image-20250320215249034

3 常见问题和解决

3.1 创建asesskey

  1. 登录阿里云控制台:打开阿里云官网(https://www.aliyun.com/),使用你的账号登录阿里云控制台。

  2. 进入 Access Key 管理页面:登录后,将鼠标悬停在页面右上角的账号名称上,在下拉菜单中选择“AccessKey 管理”。

  3. 创建 Access Key

    • 如果你是第一次创建 Access Key,可以直接点击“创建 Access Key”按钮。
    • 若之前创建过,需要按照系统提示进行身份验证(如短信验证码验证),验证通过后才能创建新的 Access Key
  4. 保存 Access Key 信息:创建成功后,系统会弹出一个窗口显示 AccessKey IDAccessKey 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)配置,导致您没有权限访问该对象。以下是可能的原因和解决方法

可能原因:

  1. 存储桶的ACL权限限制
    存储桶的所有者可能设置了严格的ACL权限,仅允许特定用户或账户访问。
  2. 对象权限未正确配置
    即使存储桶的ACL允许访问,对象本身的权限可能被设置为私有,导致您无法访问。
  3. IAM权限不足
    如果您使用的是云服务(如AWS S3、阿里云OSS等),您的IAM角色或用户可能没有足够的权限访问该存储桶或对象。
  4. 跨域访问限制
    如果您通过网页或其他跨域方式访问,存储桶可能未配置正确的CORS(跨域资源共享)策略。

解决方法:

  1. 检查存储桶的ACL设置
    • 登录到云服务控制台(如AWS S3、阿里云OSS等)。
    • 找到目标存储桶,检查其ACL设置,确保您的账户或用户组有访问权限。
    • 如果存储桶是私有的,可以尝试将其设置为公开读取(public-read),或者添加您的账户到允许访问列表中。
  2. 检查对象的权限
    • 确保目标对象的权限设置为允许访问。
    • 如果是私有对象,您需要获取对象的签名URL或临时访问令牌。
  3. 检查IAM权限
    • 如果您使用的是IAM角色或用户,确保其策略中包含访问该存储桶和对象的权限。例如,在AWS S3中,策略需要包含s3:GetObjects3:ListBucket权限。
  4. 配置CORS策略(如果需要)
    • 如果通过网页访问,确保存储桶的CORS策略允许您的域名访问。
  5. 联系存储桶所有者
    • 如果您无法修改存储桶或对象的权限,请联系存储桶的所有者,请求其授予您访问权限。

4 优化

4.1. 优化 OSS 配置

通过优化 OSS 的设置,可以提高图片访问速度和安全性。

1 开启 OSS 的 CDN 加速
  1. 进入阿里云 OSS 控制台,选择你的 Bucket。
  2. 在“域名管理”中,绑定自定义域名,并开启 CDN 加速。
  3. 在 PicGo 中,将“自定义域名”设置为 CDN 加速的域名。
2 设置 OSS 的权限
  1. 在 OSS 控制台中,进入 Bucket 的“权限管理”。
  2. 将 Bucket 的读写权限设置为 私有,避免图片被恶意访问。
  3. 在 PicGo 中,确保使用 AccessKey 上传图片。
3 定期清理 OSS 图片
  1. 在 OSS 控制台中,使用“生命周期管理”功能,设置自动删除过期图片。
  2. 定期手动清理不再使用的图片,节省存储空间。

4.2 安全优化

1 使用子用户 AccessKey
  • 在阿里云 RAM 控制台中,创建一个子用户,并授予该用户 OSS 的读写权限。
  • 使用子用户的 AccessKey 配置 PicGo,避免使用主账号的 AccessKey。
2 定期更换 AccessKey
  • 定期更换 AccessKey,避免因泄露导致的安全问题。
  • 更换 AccessKey 后,记得更新 PicGo 中的配置。
3 开启 OSS 的日志功能
  • 在 OSS 控制台中,开启日志功能,记录所有访问和操作日志,方便排查问题。

5. 其他优化建议

  • 使用 Markdown 图片语法:在 Typora 中,使用 语法插入图片,确保图片链接可移植。
  • 备份 OSS 图片:定期将 OSS 中的图片备份到本地或其他存储服务,防止数据丢失。
  • 优化图片大小:在上传前,使用工具压缩图片,减少存储空间和加载时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2318831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爱普生FC-12M石英晶体谐振器精准时钟源解决方案

在当今数字化时代,电子设备无处不在,从我们日常使用的智能手机、平板电脑,到复杂的工业控制系统、通信基站,每一台设备的稳定运行都离不开精准的时钟信号。而在众多提供时钟信号的元件中,爱普生 FC-12M 石英晶体谐振器…

【css酷炫效果】纯CSS实现手风琴折叠效果

【css酷炫效果】纯CSS实现手风琴折叠效果 缘创作背景html结构css样式完整代码效果图 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492015 缘 创作随缘,不定时更新。 创作背景 刚看到csdn出活动了&am…

AI辅助的逆向分析

AI大模型结合反编译工具与AI的辅助分析能力,已能实现部分代码逻辑的还原与重构。 1. 技术实现路径 (1)二进制文件预处理与反编译 反编译工具:需先使用IDA Pro、Ghidra等工具将二进制文件转换为低级中间表示(如汇编代…

物理标签与逻辑标签的区别

物理标签和逻辑标签都可以被机器&#xff08;如浏览器、爬虫、屏幕阅读器&#xff09;解析和识别&#xff0c;但它们的 语义信息 对机器的意义不同。以下是详细解释&#xff1a; 1. 物理标签的解析 可以识别&#xff1a;浏览器会正确解析物理标签&#xff08;如 <b>、<…

《Linux 网络架构:基于 TCP 协议的多人聊天系统搭建详解》

一、系统概述 本系统是一个基于 TCP 协议的多人聊天系统&#xff0c;由一个服务器和多个客户端组成。客户端可以连接到服务器&#xff0c;向服务器发送消息&#xff0c;服务器接收到消息后将其转发给其他客户端&#xff0c;实现多人之间的实时聊天。系统使用 C 语言编写&#x…

鸿蒙NEXT项目实战-百得知识库04

代码仓地址&#xff0c;大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点&#xff1a; 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…

函数的介绍

1.函数的概念 在C语言中也有函数的概念&#xff0c;有些翻译为&#xff1a;子程序&#xff0c;这种翻译更为准确。C语言的函数就是一个完成某项特定的任务的一小段代码。这段代码是有特殊的写法和调用方法的。 C语言的程序其实是有无数个小的函数组合而成的&#xff0c;也可以…

源自Deformable Convolutional Networks的一种可变形卷积实现解析

衍生记录&#xff1a;深度学习pytorch之简单方法自定义9类卷积即插即用 文章目录 概述1. 可变形卷积的背景2. DeformConv2D概述2.1 构造函数分析2.2 前向传播函数解析2.2.1 偏移量的计算与应用2.2.2 目标位置的计算2.2.3 四个角的插值2.2.4 双线性插值的权重2.2.5 特征图的采样…

【最后203篇系列】020 rocksdb agent

今天还是挺开心的一天&#xff0c;又在工具箱里加了一个工具。嗯&#xff0c;但是快下班的时候也碰到一些不太顺心的事&#xff0c;让我有点恼火。我还真没想到一个专职的前端&#xff0c;加测试&#xff0c;以及其他一堆人&#xff0c;竟然不知道后端返回的markdown,在前端渲染…

mysql-connector-python 报错(0xC0000005)

报错情况&#xff1a; 原因&#xff1a; mysql-connector-python版本不对&#xff0c;我们的mysql版本为sql8.0需要下载mysql-connector-python8.0....的库 方法&#xff1a; pip install mysql-connector-python8.1.0 即可

从零开始实现Stable Diffusion本地部署

1. 依赖安装 文件打包下载地址&#xff08;Stable Diffusion&#xff09; # git &#xff1a; 用于下载源码 https://git-scm.com/downloads/win # Python 作为基础编译环境 https://www.python.org/downloads/ # Nvidia 驱动&#xff0c;用于编译使用GPU显卡硬件 https://ww…

RAG各类方法python源码解读与实践:利用Jupyter对RAG技术综合评测【3万字长文】

检索增强生成&#xff08;RAG &#xff09;是一种结合信息检索与生成模型的混合方法。它通过引入外部知识来提升语言模型的性能&#xff0c;从而提高回答的准确性和事实正确性。为了简单易学&#xff0c;不使用LangChain框架或FAISS向量数据库&#xff0c;而是利用Jupyter Note…

RPA+AI 技术到底好在哪里?

在自动化领域&#xff0c;RPA与生成式AI都是强大的技术&#xff0c;都可以用来实现自动执行重复耗时的任务。 主要区别是&#xff1a;传统RPA擅长处理结构化与规则明确简单的流程&#xff0c;而在非结构化数据处理、动态上下文适应、智能决策等能力上有欠缺&#xff1b;而基于…

flowable适配达梦7 (2.1)

经过第一版的问题解决&#xff0c;后端项目可以启动&#xff0c;前端页面也集成进去。 前端在流程设计页面报错 之后发现主要是组件中modelerStore这个值没有 解决方法:在data增加对象 给component/process/designer.vue 中涉及到的每个子组件传入 :modelerStore“modeler…

基于java的ssm+JSP+MYSQL的母婴用品网站(含LW+PPT+源码+系统演示视频+安装说明)

系统功能 管理员功能模块&#xff1a; 主页 个人中心 用户管理 商品分类管理 商品信息管理 留言板管理 成长交流 系统管理 订单管理 留言管理 用户功能模块&#xff1a; 主页 个人中心 我的收藏管理 订单管理 前台首页功能模块&#xff1a; 首页 商品信息 论…

面试八股 —— Redis篇

重点&#xff1a;缓存 和 分布式锁 缓存&#xff08;穿透&#xff0c;击穿&#xff0c;雪崩&#xff09; 降级可作为系统的保底策略&#xff0c;适用于穿透&#xff0c;击穿&#xff0c;雪崩 1.缓存穿透 2.缓存击穿 3.缓存雪崩 缓存——双写一致性 1.强一致性业务&#xff08…

gradle-8.13

gradle-8.13 稍微看了下&#xff0c;基于Maven改造的 https://gradle.org/install/https://github.com/gradle/gradle-distributions/releaseshttps://github.com/gradle/gradle-distributions/releases/download/v8.13.0/gradle-8.13-all.zip https://github.com/gradle/gra…

不使用负压电源,ADC如何测量正负压?

电路图来自ZLinear的开源数据采集板卡DL8884_RFN&#xff0c;是一个比较常见的电压偏置采集法 对电路进行分析&#xff0c;所以说可以先看下采集卡的模拟输入部分的参数如下&#xff1a; 通道数量: 8通道单端输入/4通道差分输入 分辨率: 16位逐次逼近型(SAR) ADC 采样速率: 40…

SinoSteel生产企业ERP实施建议书final(143页PPT)(文末有下载方式)

资料解读&#xff1a;SinoSteel 生产企业 ERP 实施建议书 final 详细资料请看本解读文章的最后内容。 在当今竞争激烈的商业环境中&#xff0c;企业的信息化建设对于提升竞争力和实现可持续发展至关重要。中钢集团作为一家大型跨国企业集团&#xff0c;在钢铁行业占据重要地位。…

贴片陶瓷天线和蓝牙天线的layout注意事项

板载天线&#xff0c;也有封装成器件进行使用&#xff1a; 看到这里&#xff0c;细心的人发现&#xff0c;天线接入芯片的时候&#xff0c;旁边也直接接地了&#xff1a; F型天线&#xff08;Inverted F Antenna, IFA&#xff09;的一端接地&#xff0c;看起来像是“短路”&am…