From fd8335613a94939b32307933ebe124ac89d5af9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=9C=E8=8F=AF?= Date: Mon, 10 Jul 2023 14:43:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8E=9F=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routers/images.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/routers/images.go b/routers/images.go index dda1115..cc1d12b 100644 --- a/routers/images.go +++ b/routers/images.go @@ -318,12 +318,20 @@ func ImagesItemPatch(w http.ResponseWriter, r *http.Request) { // 删除一条图片 func ImagesItemDelete(w http.ResponseWriter, r *http.Request) { image := models.Image{ID: utils.ParamInt(mux.Vars(r)["id"], 0)} - if err := configs.ORMDB().Delete(&image).Error; err != nil { - log.Println(err) + if err := configs.ORMDB().First(&image).Error; err != nil { + w.WriteHeader(http.StatusNotFound) + w.Write([]byte("图片不存在")) return } - // TODO: 删除本地文件 - // 删除所有喜欢此图片的记录(双向解绑, A是user, B是image) + if err := configs.ORMDB().Delete(&image).Error; err != nil { + w.WriteHeader(http.StatusInternalServerError) + w.Write([]byte("删除失败")) + return + } + // 删除本地图像文件 image.Path + os.Remove(image.Path) + + // 删除所有用户喜欢此图片的记录(双向解绑, A是user, B是image) models.LikeImage.RemoveB(strconv.Itoa(image.ID)) w.Header().Set("Content-Type", "application/json; charset=utf-8")