返回

为你的 PicGo 添加图片托管插件:一步步教程

后端

在写这篇博客之前,我一直在寻找一种方法,让我可以使用 PicGo 将图片直接上传到我自己的私有图床上。经过一番研究,我发现实际上可以实现,只需编写一个 PicGo 插件即可。

在这篇教程中,我将向你展示如何一步一步为你的 PicGo 添加图片托管插件。我们将使用免费的开源图片托管服务 Imgur 来作为我们的图片托管服务。

第一步:创建 Imgur 帐户

如果你还没有 Imgur 帐户,请先创建一个。这将为你提供用于将图片上传到 Imgur 的 API 密钥。

第二步:安装 PicGo 插件模板

首先,你需要安装 PicGo 插件模板。这将为你提供一个创建 PicGo 插件所需的基础结构。你可以使用以下命令通过 npm 安装它:

npm install -g picgo-plugin-template

第三步:创建 PicGo 插件

使用 PicGo 插件模板,创建一个名为 picgo-plugin-imgur 的新文件夹。在此文件夹中,创建一个名为 index.js 的新文件。

第四步:编写插件代码

index.js 文件中,添加以下代码:

const path = require('path');
const axios = require('axios');

module.exports = function (ctx) {
  // 添加自定义上传提供程序
  ctx.uploader.register('imgur', {
    handle: async function (ctx) {
      const { filepath, filename } = ctx.output;
      const formData = new FormData();
      formData.append('image', fs.createReadStream(filepath));

      const res = await axios({
        method: 'post',
        url: 'https://api.imgur.com/3/image',
        headers: {
          Authorization: `Client-ID ${process.env.IMGUR_CLIENT_ID}`,
        },
        data: formData,
      });

      const { data: { link } } = res.data;

      return {
        imgUrl: link,
        storagePath: filepath,
        filename,
      };
    },
  });
};

第五步:将插件添加到 PicGo

picgo-plugin-imgur 文件夹复制到你的 PicGo 插件文件夹中。默认情况下,此文件夹位于 ~/Library/Application Support/PicGo/plugins/

第六步:配置插件

在 PicGo 中,转到“偏好设置”>“插件”。你应该会看到已安装的 picgo-plugin-imgur 插件。单击“配置”按钮并输入你的 Imgur 客户端 ID。

第七步:使用插件

现在你可以使用插件将图片上传到 Imgur 了。只需将图片拖放到 PicGo 窗口中,或右键单击图片并选择“上传到 Imgur”。

结论

通过编写一个简单的 PicGo 插件,你可以在不离开 PicGo 的情况下将图片直接上传到自己的私有图床上。这可以节省时间和精力,并且可以帮助你保持图片组织和安全。