一篇博客一篇博客
嗯
常见问题记录
  • Java语言
  • 设计模式及设计原则
  • Java虚拟机
  • JUC 并发工具包
  • MySQL 数据库
  • Redis
  • 学校
  • 游记
  • 其他
联系方式
Github
嗯
常见问题记录
  • Java语言
  • 设计模式及设计原则
  • Java虚拟机
  • JUC 并发工具包
  • MySQL 数据库
  • Redis
  • 学校
  • 游记
  • 其他
联系方式
Github
  • 遇到的问题
  • PicGo + Oracle cloud 对象存储实现免费图床
  • /problem/0002.html

PicGo + Oracle cloud 对象存储实现免费图床

和大家分享一个免费图床的实现方式:PicGo + Oracle cloud 对象存储

1. Oracle cloud 对象存储

1.1 存储桶申请

Oracle cloud 对象存储的免费空间有 20 G,每月限制 50000次 API 调用

接下来,申请一块存储桶

在控制台左上角的导航菜单中,找到存储,然后选择对象存储。

image-20240909001719046

进来后,点击创建存储桶,名称默认以时间命名,可以换一个方便自己记忆的,默认存储层选标准就行,因为 标准 和 归档 共同组成 20G 免费空间。

image-20240909001856803

进来后,在编辑可见性这里,需要把桶设置为公共的,这样上传的图像才可以被访问。

image-20240909002904640

然后在 资源 --> 对象 已经可以测试上传文件了

image-20240909002058464

对于开发者来说,手动操作显然是不能接受的,有没有 API 可调用?

1.2 Amazon s3 API

甲骨文云官方提供了 Object Storage API,不过这个 API 用起来特别麻烦,而且我们接下来还需要和 PicGo 配合,实现自动上传。

这时,我们需要用到 Amazon s3 API,甲骨文云官方贴心地为 Amazon s3 API 提供了兼容。

要使用 Amazon S3 API,首先需要获取到用于身份验证的 AccessKeyId 和 SecretAccessKey。

1.3 Oracle cloud 密钥获取

登录Oracle Cloud后,点击右上角头像,依次点击 我的概要信息 - 客户密钥 - 生成密钥。

image-20240909003054037

点击生成密钥,记得立即复制出来,这个就是 SecretAccessKey,否则后续就拿不到了。然后点击访问密钥下方的字符串,这个就是 AccessKeyId。

这两个东西是用于后续身份验证的,一定要保存好。

1.3.2 对象存储基本信息获取

回到你的对象存储页面,最上面马赛克就是桶名称,名称空间需要保存下来,记作 {object-storage-namespace}。

image-20240909002817322

接下来通过如下拼接方式,得到请求的节点Endpoint:

https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com

{region}是你的主区域代码,怎么获取?

点击一张你上传图像的详细信息,在 url 中可以看到,比如我的就是sa-saopaulo-1

image-20240909003352407

有了这些东西后,我们就可以前往 PicoGo 配置 S3 插件了。

2. PicGo 插件安装和使用

PicGo下载地址:这里

2.1 安装和配置S3插件

接下来我们在插件设置,搜索框中输入 s3,下图中装第一个就行:

image-20240909003628874

安装成功后,在图床设置中就可以看到 Amazon S3 的图床,设置参考下图

image-20240909003958747

具体的字段说明如下:

应用密钥ID:就是上面获取的 AccessKeyId 应用密钥:就是上面获取的 SecretAccessKey 桶名:你创建的桶名称 文件路径:你怎么定义存储桶中的上传路径,下面详细说明 地区:就是上面获取的 {region} 自定义节点:就是上面拼接得到的节点 Endpoint

文件路径支持的 payload与描述如下,可按需配置,因为我希望同名文件直接覆盖,所以选用了 {fullName}:

image-20240909004120201

!注意:ForcePathStyle 必须设置为 yes,否则上传时使用的自定义节点会在输入的节点前自动加上桶名,导致上传失败。

至此,Amazon S3 的图床的配置就基本完成了,快去上传区上传一张图片试试吧~

image-20240909004202080

上传成功后,得到的 url 格式如下:

https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com/{bucket}/{img_name}.png

2.2 squoosh 图片压缩插件

贴心提示:如果你每次都是截图上传图片,由于现在的截图软件默认保存的都是 png 图片,导致图片占用存储空间不小,而且图片太大的话也会影响网络加载速度。

所以,如果你不想 20G 免费空间很快爆满的话,最好安装一个图片压缩插件。

操作也很简单,在插件设置,搜索框中输入 squoosh,装上就行~

初次使用,需要进行配置: image-20240909004331024

我这里并不打算采用 md5 重命名,所以只把下面相应扩展名的图片压缩打开了。

image-20240909004355873

记得点击下方的 确定 进行保存哦,否则配置不会生效的。

3 完成

至此,一个免费又好用的图床就搭建好了,本文的所有图片上传也是 PicGo + Oracle cloud 对象存储 + S3 API实现的。

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/u010522887/article/details/141101468

Last Updated:
Contributors: Desheng Zhang
Prev
遇到的问题
Next
/problem/0002.html