当前位置: 首页 > article >正文

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

文章目录

  • 通过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 中的图片备份到本地或其他存储服务,防止数据丢失。
  • 优化图片大小:在上传前,使用工具压缩图片,减少存储空间和加载时间。

相关文章:

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

文章目录 通过Typora PicGo 阿里云对象存储(OSS)实现图床1 准备工作1.1 阿里云对象存储 OSS配置创建oss存储空间bucket获取AccessKey 1.2 PicGo配置1.3 Typora配置 2 使用流程3 常见问题和解决3.1 创建asesskey3.2 You have no right to access this o…...

爱普生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>、<…...

脚本语言 Lua

概念 Lua由标准C编写而成&#xff0c;几乎在所有操作系统和平台上都可以编译、运行。Lua脚本可以很容易地被C/C 代码调用&#xff0c;也可以反过来调用C/C的函数&#xff0c;这使得Lua在应用程序中可以被广泛应用。Lua并没有提供强大的库&#xff0c;它是不适合作为开发独立应…...

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

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

目前主要虚拟世界平台在单一实例承载人数和伺服器架构的综合比较分析(从开资料和技术推估):

目前主要虚拟世界平台在单一实例承载人数和伺服器架构的综合比较分析&#xff08;从开资料和技术推估&#xff09;&#xff1a; 1. 《Fortnite》&#xff08;Epic Games&#xff09; 一般游戏模式约 100人/场&#xff0c;但大型活动&#xff08;如演唱会&#xff09;采用分层串…...

鸿蒙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 特征图的采样…...

记一次性能调优-20250320

2月份年后上班&#xff0c;刚过完年&#xff0c;还没从喜悦中解放出来&#xff0c;凌晨3点的时候同事就给我打电话&#xff0c;晚上的批量处理任务卡住了&#xff0c;快帮忙看看&#xff0c;做了几分钟的心里建设之后从被窝爬起来&#xff0c;看着手机上好几电话&#xff0c;赶…...

Postman高级功能深度解析:Mock Server与自动化监控——构建高效API测试与监控体系

引言&#xff1a;Postman在API开发中的核心价值 在数字化时代&#xff0c;API&#xff08;应用程序编程接口&#xff09;已成为系统间交互的“神经网络”&#xff0c;其质量直接影响用户体验与业务连续性。然而&#xff0c;传统API测试面临两大挑战&#xff1a; 开发阶段依赖…...

【最后203篇系列】020 rocksdb agent

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

OpenCV旋转估计(2)用于自动检测波浪校正类型的函数autoDetectWaveCorrectKind()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::detail::autoDetectWaveCorrectKind 是 OpenCV 中用于自动检测波浪校正类型的函数&#xff0c;它根据输入的旋转矩阵集合来决定使用哪种波浪…...

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…...

transform C++标准库算法用法(对容器中元素进行转换操作:大小写转换、向量的加法乘法运算)

std::transform 是 C 标准库中的一个算法&#xff0c;用于对容器&#xff08;如数组、向量、字符串等&#xff09;中的元素进行转换操作&#xff0c;并将结果存储到指定的目标位置。它可以对单个范围或两个范围的元素进行操作&#xff0c;并将结果写入另一个容器。 1. 头文件 …...

Java File 类与文件操作

一、引言 在 Java 编程中,文件操作是一项非常常见且重要的任务。无论是读取配置文件、保存用户数据,还是进行日志记录,都离不开对文件的操作。Java 提供了 File 类来表示文件和目录的抽象路径名,通过该类可以对文件和目录进行创建、删除、重命名等操作。同时,Java 还提供…...

Python 字符串的编码格式

在 Python 中,字符串(str)默认使用 Unicode 编码,具体来说,Python 3 中的字符串是以 UTF-8 编码存储的 Unicode 字符序列。Unicode 是一种国际标准,旨在为世界上所有的字符提供唯一的编码,而 UTF-8 是 Unicode 的一种实现方式,具有兼容性和高效性。 1. Unicode 与 UTF-…...

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…...

在 Linux 系统上部署 Deepseek AI 的全面指南‌

对于所有希望亲身体验 AI 魅力的玩家来说&#xff0c;本文将提供一个详尽的教程&#xff0c;指导你在 Linux 系统上部署 Deepseek AI。无论你是技术小白还是有一定基础的用户&#xff0c;都能轻松跟随本文完成部署。 ‌一、关于 Ollama‌ Ollama 是一款功能强大的开源应用&am…...

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…...