无损压缩GIF

This commit is contained in:
2023-04-08 13:14:48 +08:00
parent feeea59c4b
commit 0b50f908ab
5 changed files with 186 additions and 83 deletions

View File

@@ -8,7 +8,12 @@ import (
_ "github.com/go-sql-driver/mysql"
)
func GetMysql() {
type MysqlConnection struct {
db *sql.DB
}
// 初始化数据库连接
func (m *MysqlConnection) Init() (err error) {
viper := Viper // 从 models/config.go 中获取 viper 对象
user := viper.Get("mysql.user").(string)
password := viper.Get("mysql.password").(string)
@@ -16,29 +21,17 @@ func GetMysql() {
port := viper.Get("mysql.port").(int)
database := viper.Get("mysql.database").(string)
sqlconf := user + ":" + password + "@tcp(" + host + ":" + strconv.Itoa(port) + ")/" + database + "?charset=utf8mb4&parseTime=True&loc=Local"
// 连接数据库
db, err := sql.Open("mysql", sqlconf)
m.db, err = sql.Open("mysql", sqlconf) // 连接数据库
if err != nil {
log.Println("连接数据库失败", err)
return
}
// 从 web_images 表读取图片 id, version, width, height, format
rows, err := db.Query("SELECT id, width, height, content FROM web_images WHERE id = 8888")
if err != nil {
log.Println("查询数据库失败", err)
return
}
defer rows.Close()
// 遍历查询结果
for rows.Next() {
var id, width, height, content string
if err = rows.Scan(&id, &width, &height, &content); err != nil {
log.Println("读取数据库失败", err)
return
}
log.Println(id, width, height, content)
}
return
}
// 根据 id 获取图片的 content
func (m *MysqlConnection) GetImageContent(id string) (key string, err error) {
var content string
err = m.db.QueryRow("SELECT content FROM web_images WHERE id=" + id).Scan(&content)
return content, err
}