返回

Go + 阿里云 COS + Typora + 坚果云,图床搭建秘籍!

前端

搭建图床,轻松管理笔记中的图片

前言

作为一名狂热的 Markdown 写作爱好者,我一直在寻找一种方法来简化图片管理,特别是当我在本地使用 Typora 进行记笔记时。以往,上传图片到博客时需要一张张手动操作,这着实让人头疼。

为了解决这一难题,我将 Go、阿里云 COS、Typora 和坚果云巧妙地结合在了一起,搭建了一个功能强大的图床。现在,只需一步,即可将图片上传到图床,极大地提高了效率。

搭建步骤

1. 阿里云 COS

阿里云 COS 是一款对象存储服务,能够存储海量的图片、视频和音频文件。首先,创建一个阿里云账号,并创建一个 COS 存储桶。记录下存储桶的访问凭证,包括 Access Key ID 和 Access Key Secret。

2. Go

Go 是一门强大的编程语言,常用于编写后端代码。我们将使用 Go 开发一个简单的 Web 服务,用于将图片上传到 COS 存储桶。

package main

import (
    "fmt"
    "io"
    "log"
    "net/http"
    "os"

    "github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
    // 阿里云OSS配置
    endpoint := "oss-cn-beijing.aliyuncs.com"
    accessKeyID := "your_access_key_id"
    accessKeySecret := "your_access_key_secret"
    bucketName := "your_bucket_name"

    // 创建OSSClient实例
    client, err := oss.New(endpoint, accessKeyID, accessKeySecret)
    if err != nil {
        log.Fatal(err)
    }

    // 创建HTTP服务器
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        // 解析请求中的文件
        file, _, err := r.FormFile("file")
        if err != nil {
            fmt.Fprintln(w, err)
            return
        }
        defer file.Close()

        // 上传文件到OSS
        key := r.FormValue("key")
        if key == "" {
            key = r.FormValue("name")
        }
        if key == "" {
            key = "file"
        }
        object, err := client.Bucket(bucketName).PutObject(key, file)
        if err != nil {
            fmt.Fprintln(w, err)
            return
        }

        // 输出图片地址
        url := object.URL
        fmt.Fprintln(w, url)
    })

    // 启动HTTP服务器
    http.ListenAndServe(":8080", nil)
}

编译并运行 Web 服务,即可通过 HTTP 接口上传图片。

3. Typora

Typora 是一款功能强大的 Markdown 编辑器,支持多种图床协议。我们将其配置为使用阿里云 OSS 作为图床。在 Typora 的“偏好设置”中选择“阿里云 OSS”,填写阿里云 OSS 的配置信息,并点击“测试”按钮,确认配置正确。

4. 坚果云

坚果云是一款同步工具,能够将本地文件同步到云端。我们将 Typora 笔记同步到坚果云同步文件夹,这样就能随时随地访问笔记,并管理其中的图片。

使用说明

  1. 将图片拖拽到 Typora 编辑器中。
  2. Typora 会自动将图片上传到图床。
  3. 图片地址会自动插入到 Markdown 文件中。

结语

通过使用 Go、阿里云 COS、Typora 和坚果云,我们搭建了一套高效的图床系统。从现在开始,你可以轻松地管理笔记中的图片,告别繁琐的手动操作,尽情享受写作的乐趣。

常见问题解答

Q1:为什么选择阿里云 COS 作为图床?
A1:阿里云 COS 提供了可靠、高性能和低成本的对象存储服务,非常适合存储海量图片。

Q2:是否可以将图床与其他 Markdown 编辑器一起使用?
A2:是的,只要该编辑器支持阿里云 OSS 图床协议,就可以使用。

Q3:上传图片是否会占用我的阿里云 COS 存储空间?
A3:是的,上传的图片将占用你阿里云 COS 存储桶的空间。

Q4:是否需要付费使用阿里云 COS 图床?
A4:阿里云 COS 提供了免费套餐,你可以先体验免费套餐,如果需要更大的存储空间或更高级的功能,可以升级到付费套餐。

Q5:搭建图床有什么好处?
A5:使用图床可以集中管理图片,提高效率,加快笔记加载速度,并且可以轻松地将图片分享给别人。