Go + 阿里云 COS + Typora + 坚果云,图床搭建秘籍!
2024-02-12 20:05:25
搭建图床,轻松管理笔记中的图片
前言
作为一名狂热的 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 笔记同步到坚果云同步文件夹,这样就能随时随地访问笔记,并管理其中的图片。
使用说明
- 将图片拖拽到 Typora 编辑器中。
- Typora 会自动将图片上传到图床。
- 图片地址会自动插入到 Markdown 文件中。
结语
通过使用 Go、阿里云 COS、Typora 和坚果云,我们搭建了一套高效的图床系统。从现在开始,你可以轻松地管理笔记中的图片,告别繁琐的手动操作,尽情享受写作的乐趣。
常见问题解答
Q1:为什么选择阿里云 COS 作为图床?
A1:阿里云 COS 提供了可靠、高性能和低成本的对象存储服务,非常适合存储海量图片。
Q2:是否可以将图床与其他 Markdown 编辑器一起使用?
A2:是的,只要该编辑器支持阿里云 OSS 图床协议,就可以使用。
Q3:上传图片是否会占用我的阿里云 COS 存储空间?
A3:是的,上传的图片将占用你阿里云 COS 存储桶的空间。
Q4:是否需要付费使用阿里云 COS 图床?
A4:阿里云 COS 提供了免费套餐,你可以先体验免费套餐,如果需要更大的存储空间或更高级的功能,可以升级到付费套餐。
Q5:搭建图床有什么好处?
A5:使用图床可以集中管理图片,提高效率,加快笔记加载速度,并且可以轻松地将图片分享给别人。