mirror of
https://github.com/Kakune55/Pixel.git
synced 2025-05-06 18:29:25 +08:00
修复了上传重复文件时链接不唯一的问题
This commit is contained in:
parent
5d4580cbf7
commit
cb2a49e3c9
@ -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
|
||||||
|
}
|
6
main.go
6
main.go
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user