修复了上传重复文件时链接不唯一的问题

This commit is contained in:
Kakune55 2024-01-21 23:20:20 +08:00
parent 5d4580cbf7
commit cb2a49e3c9
2 changed files with 39 additions and 0 deletions

View File

@ -217,3 +217,36 @@ func CheckUserPasswd(username string, password string) bool {
return false return false
} }
} }
func GetFileLinkID(md5in string) string {
db, err := sql.Open("sqlite3", "./data/database.db")
if err != nil {
log.Fatal(err)
}
defer db.Close()
// SQL语句
SQL := `
SELECT * FROM "mytable" WHERE md5 = ?
`
row := db.QueryRow(SQL,md5in)
if err != nil {
log.Fatal(err)
}
// 扫描查询结果
var md5 string
var linkID string
var ext string
err = row.Scan(&linkID,&md5,&ext)
if err != nil {
if err == sql.ErrNoRows {
return ""
} else {
log.Fatal(err)
}
return ""
}
return linkID
}

View File

@ -130,6 +130,12 @@ func upload(w http.ResponseWriter, r *http.Request) {
} }
md5sum := fmt.Sprintf("%x", h.Sum(nil)) md5sum := fmt.Sprintf("%x", h.Sum(nil))
oldLinkID := database.GetFileLinkID(md5sum)
if oldLinkID != "" {
w.Write([]byte(oldLinkID))
return
}
// 获取文件扩展名 // 获取文件扩展名
fname := handler.Filename fname := handler.Filename
ext := path.Ext(fname) ext := path.Ext(fname)