From cb2a49e3c9770d4d288bc56121bc0b630d2ae0ba Mon Sep 17 00:00:00 2001 From: Kakune55 Date: Sun, 21 Jan 2024 23:20:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=96=87=E4=BB=B6=E6=97=B6=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E4=B8=8D=E5=94=AF=E4=B8=80=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/db.go | 33 +++++++++++++++++++++++++++++++++ main.go | 6 ++++++ 2 files changed, 39 insertions(+) diff --git a/database/db.go b/database/db.go index 0646454..ee3ece2 100644 --- a/database/db.go +++ b/database/db.go @@ -217,3 +217,36 @@ func CheckUserPasswd(username string, password string) bool { 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 +} \ No newline at end of file diff --git a/main.go b/main.go index 829fce0..f6db6c9 100644 --- a/main.go +++ b/main.go @@ -130,6 +130,12 @@ func upload(w http.ResponseWriter, r *http.Request) { } md5sum := fmt.Sprintf("%x", h.Sum(nil)) + oldLinkID := database.GetFileLinkID(md5sum) + if oldLinkID != "" { + w.Write([]byte(oldLinkID)) + return + } + // 获取文件扩展名 fname := handler.Filename ext := path.Ext(fname)