使用Golang实现Typora图片上传插件
描述
golang 1.20 除了服务端有个gin没有用别的库,理论上跨平台没问题的,自行测试吧 只支持自建服务器,包含了Typora编辑器插件以及服务端,整个代码以及逻辑都是CHATGPT生成的,我仅仅做了打包处理。不管是粘贴上传还是右键点击图片上传都是OK的,好像每次只支持一张,自行解决吧!
上传接口有header的Authorization验证,勉强可以防止被滥用了。
// Client
token := "e583005c4b99107633bbe93a9fe59f83"
req.Header.Set("Authorization", token)
// Server
// 添加header token验证
token := c.Request.Header.Get("Authorization")
if token != "e583005c4b99107633bbe93a9fe59f83" {c.JSON(http.StatusBadRequest, gin.H{"success": false, "message": "Invalid token"})return
}
修改好代码里的相关变量后执行批处理build,server丢服务器上运行,client.exe放到你想放的地方然后把程序路径完整的复制到Typora 的上传配置那里。
Server端可以套nginx应该会好些!
// Client
// 接口URL
url := "http://127.0.0.1:11258/upload"
// Server
func loadConfig() (*Config, error) {// 加载配置文件,定义各项参数return &Config{MaxFileSize: 2 * 1024 * 1024, // 文件最大2MBAllowedExts: []string{".jpg", ".jpeg", ".png", ".gif"}, // 允许的文件类型UploadPath: "/www/wwwroot/images", // 图片上传存放目录HttpUlr: "http://127.0.0.1:11258/images/", // 图片访问URL}, nil
}
不好的地方就是golang build的文件挺大的,对比了下C++写的大太多了!
纯属娱乐,不喜勿骂哈!这篇文章的图片就是使用这个插件进行粘贴上传的!
下载地址:
下载