<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>图床 on Linkzz&#39;s Blog</title>
    <link>https://linkzz.org/tags/%E5%9B%BE%E5%BA%8A/</link>
    <description>Recent content in 图床 on Linkzz&#39;s Blog</description>
    <image>
      <title>Linkzz&#39;s Blog</title>
      <url>https://linkzz.org/logo.png</url>
      <link>https://linkzz.org/logo.png</link>
    </image>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Wed, 09 Aug 2023 09:03:11 +0000</lastBuildDate><atom:link href="https://linkzz.org/tags/%E5%9B%BE%E5%BA%8A/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用Oracle对象存储作为博客图床（二）</title>
      <link>https://linkzz.org/posts/oracle-blog-picture-2/</link>
      <pubDate>Wed, 09 Aug 2023 09:03:11 +0000</pubDate>
      
      <guid>https://linkzz.org/posts/oracle-blog-picture-2/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://linkzz.org/posts/oracle-blog-picture-1&#34;&gt;上一章&lt;/a&gt;我们已经做到了使用 picgo 上传图片并获得一个可以公开访问的链接，这章介绍如何使用 CloudFlare 代理图片的访问并加上自定义域名，以及录屏转 gif 的方法。&lt;/p&gt;
&lt;h2 id=&#34;cloudflare-代理访问&#34;&gt;CloudFlare 代理访问&lt;/h2&gt;
&lt;p&gt;创建一个 Cloudflare Workers，代码如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;default&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;kr&#34;&gt;async&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fetch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;env&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;url&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;URL&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;request&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;pathname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;replace&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;/blog/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;originUrl&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;env&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;OBJECT_STORAGE_BASE_URL&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;path&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}${&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;await&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fetch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;originUrl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Response&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以上代码功能是将访问的 url 去掉存储桶名称，通过 workers 获取内容并返回给访问者，充当了一个代理的角色，这样我们可以使用自定义的域名来替代甲骨文对象存储的访问域名，以后换了图床供应商也方便切换，因为博客里的链接是不用改的。&lt;/p&gt;
&lt;p&gt;部署完之后需要配置环境变量&lt;code&gt;OBJECT_STORAGE_BASE_URL&lt;/code&gt;的值为上文的访问地址，一直到&lt;code&gt;/o/&lt;/code&gt;处，如：&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/08/ce111fadec473463c7db2f96c059d17c.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;现在你可以使用 works 提供的域名作为图片前缀访问，也可以自定义域名，该功能只限于你自己的域名是由 CloudFlare 托管解析的才可，如果已经使用 CloudFlare 作为域名解析商，在 works 配置的&lt;code&gt;Custom Domains&lt;/code&gt;配置即可，CloudFlare 会自动生成 Https 证书。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/08/39e8eba872d9e83535ddbb927ea3ea24.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;配置好之后将&lt;code&gt;picgo&lt;/code&gt;的配置文件的&lt;code&gt;urlPrefix&lt;/code&gt;改为上面的域名：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;aws-sr3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;accessKeyID&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{ak}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;secretAccessKey&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{sk}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;bucketName&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;blog&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;region&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ap-chuncheon-1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;uploadPath&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;images/{year}/{month}/{md5}.{extName}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;endpoint&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://{ns}.compat.objectstorage.ap-chuncheon-1.oraclecloud.com/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;acl&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;public-read&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;pathStyleAccess&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;urlPrefix&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://img.linkzz.eu.org&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;disableBucketPrefixToURL&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;gif-图制作&#34;&gt;GIF 图制作&lt;/h2&gt;
&lt;p&gt;有时候我们有录屏制作 gif 的需求，不管你在什么平台，总有软件满足制作 gif 的需求，这里我只是介绍我的方法，如果你觉得麻烦，以你自己的方法为准。&lt;/p&gt;
&lt;h3 id=&#34;录屏&#34;&gt;录屏&lt;/h3&gt;
&lt;p&gt;windows 商店有一个录屏软件叫&lt;code&gt;截图工具&lt;/code&gt;，可以区域录屏，一般自带了这个 UWP 程序。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/08/a8183d9d17dd0989a8fb3e5cd8765d32.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;打开他选择“视频”之后点击“新建”，画出录屏区域点击“开始”即可对所画区域录制，点击“结束“就可以预览视频，点击保存，之后使用MP4 转 GIF 工具即可得到 GIF。&lt;/p&gt;
&lt;h2 id=&#34;mp4-转-gif&#34;&gt;MP4 转 GIF&lt;/h2&gt;
&lt;p&gt;我使用的是 ffmpeg + Gifski&lt;/p&gt;
&lt;h3 id=&#34;ffmpeg&#34;&gt;ffmpeg&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.ffmpeg.org/&#34;&gt;ffmpeg&lt;/a&gt; - 大名鼎鼎的图像处理软件不用我多介绍了吧，使用他可逐帧提取视频图片：&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ffmpeg -i video.mp4 farme%04d.png
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;gifski&#34;&gt;Gifski&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sindresorhus/Gifski&#34;&gt;Gifski&lt;/a&gt; - Gifski 是一个开源的视频转 GIF 工具，可以生成高质量 GIF，我们使用的是他的命令行版本。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你已经安装了&lt;a href=&#34;https://rustup.rs/&#34;&gt;rust&lt;/a&gt;，可以使用&lt;a href=&#34;https://doc.rust-lang.org/cargo/getting-started/installation.html&#34;&gt;cargo&lt;/a&gt;安装&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cargo install gifski
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;或者你可以从 github 的&lt;a href=&#34;https://github.com/ImageOptim/gifski/releases&#34;&gt;release&lt;/a&gt;页面选择相应平台的安装包安装&lt;/p&gt;
&lt;p&gt;使用 ffmpeg 生成的套图生成 gif:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gifski -o output.gif frame*.png
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;下面是演示：&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/08/6e87ec9e77084b02f00452727c9afd40.gif&#34; alt=&#34;output.gif&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;这样就可以将你的 gif 上传到图床，通过自己的域名愉快的访问啦！&lt;/p&gt;
&lt;h2 id=&#34;结语&#34;&gt;结语&lt;/h2&gt;
&lt;p&gt;至此 Oracle 对象存储就算是利用起来了，其免费 20G 的额度对我这种小流量个人博主来说够用了(&lt;del&gt;&lt;del&gt;其实只是想白嫖&lt;/del&gt;&lt;/del&gt;)，当然目前来看访问速度作为图床来看还是太慢了，不过也不要钱，还要啥自行车😂&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>使用Oracle对象存储作为博客图床（一）</title>
      <link>https://linkzz.org/posts/oracle-blog-picture-1/</link>
      <pubDate>Tue, 11 Jul 2023 16:20:02 +0000</pubDate>
      
      <guid>https://linkzz.org/posts/oracle-blog-picture-1/</guid>
      <description>&lt;p&gt;先看效果：&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/06/6746b05d3db94d4f5e9dd174a0d73831.gif&#34; alt=&#34;oracle_photo_blog.gif&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;作为一个专业白嫖党，只使用 Oracle 的 4 个免费鸡怎么能满足呢，拥有 20GB 免费空间的对象存储当然也要利用起来，正好最近又重拾起了鸽了多年的博客，正好作为博客的图床。&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h2 id=&#34;前置条件&#34;&gt;前置条件&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;一个 Oracle Cloud 账号（需要信用卡认证，大陆已经很难申请了）&lt;/li&gt;
&lt;li&gt;良好的科学环境&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;oracle-object-storage-存储桶准备&#34;&gt;Oracle Object Storage 存储桶准备&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;进入 Oracle Cloud &lt;a href=&#34;https://console.ap-chuncheon-1.oraclecloud.com/object-storage/buckets&#34;&gt;对象存储&lt;/a&gt;管理界面，创建新的存储桶&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/2e8160bd1dd204c75ec540bbce0449b3.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;默认配置即可，创建完之后编辑可见性，这里可以选择公开或者私有， &lt;strong&gt;公开&lt;/strong&gt;：所有文件允许读取 &lt;strong&gt;私有&lt;/strong&gt;：可使用预先验证的请求实现部分文件公开（推荐这种方式）&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/40096c4fdfbf90922518292d20237ac3.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建预先验证的请求&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/09d4c0a3290c70273f698dc5d29fd99d.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;选择具有前缀的对象，前缀填写&lt;code&gt;images&lt;/code&gt;,下文配置 picgo时需要匹配这个前缀，否则会有权限问题，访问类型默认只读即可，到期时间尽量一步到位多配几年。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/6f53d7d3c8cc4abc2c1ed8f3819f4b1b.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;将 URL 复制保存，这即时存储桶相应前缀目录访问的 BaseURL&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/d11281cd23ec1d9931e76826b5339693.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;上传一个图片试一下能否访问&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/f803947dcc9cc5d3678bed1740995af6.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;可以看到由于存储桶的权限设置，使用 URL 路径访问是行不通的&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/38a0255029419d9b1b66bc7e2b0ae25a.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;需要替换为刚才创建的预见请求的 URL 前缀 &lt;code&gt;https://objectstorage.ap-chuncheon-1.oraclecloud.com/p/xxx/n/{namespace}/b/blog/o/images/2022-05-23.png&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;存储桶 Endpoint 甲骨文的对象存储 endpoint 模式为&lt;code&gt;https://{namespace}.compat.objectstorage.{region}.oraclecloud.com/&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;namespace: 存储桶信息名称空间字段&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/87bc00ded688e7a6032829eb38465986.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;region: 这个是你甲骨文账号的区域，通常在你的 Oci 的 console 地址里就有体现，如我的春川为&lt;code&gt;ap-chuncheon-1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/e1ed2c4899256a527738e62af48deea8.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;
&lt;p&gt;申请 Oracle 账户 Ak 和 Sk右上角头像，进入“我的概要信息“，”客户密钥“选项”生成密钥“&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/a78dd370e5b5ccd75fdbfabe1d48be02.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;同样保存已生成密钥，该密钥为账户的&lt;code&gt;SecretAccessKey&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/b893e0be916eadc48c61f025d687a83e.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;&lt;code&gt;AccessKeyID&lt;/code&gt;在列表页，同样复制保存&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/f73f802dbce811f62ee740a004194777.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;安装配置-picgo-和-s3-插件&#34;&gt;安装配置 Picgo 和 s3 插件&lt;/h2&gt;
&lt;p&gt;准备工作完成，下面开始配置图床工具。这里有两种选择：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;具有 GUI 界面：&lt;a href=&#34;https://github.com/Molunerfinn/PicGo&#34;&gt;PicGo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cli 命令行操作：&lt;a href=&#34;https://github.com/PicGo/PicGo-Core&#34;&gt;PicGo-Core&lt;/a&gt; 上面两种看个人喜好，我比较习惯命令行，所以选择第二种，配置方面都是一样的，区别为是否提供了GUI，&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;安装-node-环境&#34;&gt;安装 Node 环境&lt;/h3&gt;
&lt;p&gt;自行按&lt;a href=&#34;https://nodejs.org/zh-cn&#34;&gt;nodejs&lt;/a&gt;官网安装&lt;/p&gt;
&lt;h3 id=&#34;安装-picgo-core&#34;&gt;安装 Picgo-Core&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install picgo -g
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者使用 Yarn&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;yarn global add picgo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;验证安装&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;picgo -h
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;出现以下结果表明安装成功 &lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/86ebb4100d6fccadc15da9dd4ac54b2f.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;h3 id=&#34;添加-s3-插件&#34;&gt;添加 S3 插件&lt;/h3&gt;
&lt;p&gt;s3 插件理论上支持所有兼容 S3API 的对象存储，具体参看插件&lt;a href=&#34;https://github.com/wayjam/picgo-plugin-s3&#34;&gt;主页&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;picgo add s3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装成功之后配置文件含有以下信息 &lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/02cc67a290ac0bcfcdf73e54d98fb949.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;h3 id=&#34;配置-s3-插件&#34;&gt;配置 s3 插件&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;picBed&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;uploader&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;aws-s3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;current&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;aws-s3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;aws-s3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;accessKeyID&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{ak}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;secretAccessKey&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{sk}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;bucketName&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{bucket}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;region&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;{region}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;uploadPath&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;images/{year}/{month}/{md5}.{extName}&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;endpoint&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://{namespace}.compat.objectstorage.{region}.oraclecloud.com/&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;acl&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;public-read&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;pathStyleAccess&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;urlPrefix&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://objectstorage.ap-chuncheon-1.oraclecloud.com/p/{publicKey}/n/{namespace}/b/blog/o&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;disableBucketPrefixToURL&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;picgoPlugins&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;picgo-plugin-s3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上面配置除了&lt;code&gt;uploadPath&lt;/code&gt;字段，其他地方的占位符号&amp;quot;{}&amp;ldquo;应替换为相应值:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ak: 上文申请的甲骨文账号&lt;code&gt;AccessKeyID&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;sk: 上文申请的甲骨文账号&lt;code&gt;SecretAccessKey&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;bucket: 桶名称，我的这里就是&lt;code&gt;blog&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;region: 上文获取的&lt;code&gt;region&lt;/code&gt;区域，我这里是&lt;code&gt;ap-chuncheon-1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;uploadPath 的占位符不需要修改，且注意前缀 images 一定要匹配上文&lt;code&gt;预先验证的请求&lt;/code&gt;处的前缀&lt;/li&gt;
&lt;li&gt;namespace: 上文获取的 namespace&lt;/li&gt;
&lt;li&gt;urlPrefix: 这个字段为&lt;code&gt;预先验证的请求&lt;/code&gt;处申请的 URL 前缀&lt;/li&gt;
&lt;li&gt;disableBucketPrefixToURL: 这个字段必须为true,否则上传链接自动添加桶前缀导致访问失败，具体可看这个&lt;a href=&#34;https://github.com/wayjam/picgo-plugin-s3/issues/30&#34;&gt;Issue&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;验证配置&#34;&gt;验证配置&lt;/h3&gt;
&lt;p&gt;截图工具随意截图到剪贴板&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;picgo upload
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上传剪贴板图片&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/38b3dcbecf01b7745306f1ed0baa658b.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;访问图片链接成功&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/401f1d04985e61ad664dbc0a48580bab.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;到此就实现图床最基本的功能了，搭配任意编辑器都可使用图床了，只是稍显麻烦，如果在编辑器中复制上传，成功后即刻显示图片体验会更好。下面我们使用 Obsidian 搭配对应插件实现上面功能。&lt;/p&gt;
&lt;h2 id=&#34;安装配置-obsidian&#34;&gt;安装配置 Obsidian&lt;/h2&gt;
&lt;p&gt;下载安装&lt;a href=&#34;https://obsidian.md/&#34;&gt;Obsidian&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;关闭安全模式搜索”Image auto upload Plugin“插件安装&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/c594d34182e984173701c5b791a80771.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;插件配置&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://img.linkzz.eu.org/main/images/2023/07/b773c31195e62390496bb44ba90f1386.png&#34; alt=&#34;image.png&#34;  /&gt;
&lt;/p&gt;
&lt;p&gt;默认上传器选择&lt;code&gt;PicGo-Core&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;结语&#34;&gt;结语&lt;/h2&gt;
&lt;p&gt;至此使用 Oracle 作为对象存储教程已经完成，但是还是有些缺陷，如图片访问效果不理想，因为甲骨文的对象存储不支持 cdn，导致不同区域访问效果不同。下一章我们使用 CloudFlare 加速我们的图片访问，以及特殊情况下制作 GIF 上传的方法。&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>

