From 088b3ec0757ffeabe8bf1b0cbb873085414e983e Mon Sep 17 00:00:00 2001 From: Minho Date: Thu, 22 Feb 2018 16:34:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E9=80=9A=E8=BF=87canvas?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=A1=B9=E7=9B=AE=E5=B0=81=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/book.go | 45 +++++- views/book/dashboard.tpl | 2 +- views/book/index.tpl | 333 +++++++++++++++++++++++++++++---------- views/manager/books.tpl | 60 ++++++- 4 files changed, 344 insertions(+), 96 deletions(-) diff --git a/controllers/book.go b/controllers/book.go index 9598dc9a..06ce4044 100644 --- a/controllers/book.go +++ b/controllers/book.go @@ -331,7 +331,7 @@ func (c *BookController) UploadCover() { url = string(url[1:]) } - old_cover := book.Cover + oldCover := book.Cover book.Cover = url @@ -339,8 +339,8 @@ func (c *BookController) UploadCover() { c.JsonResult(6001, "保存图片失败") } //如果原封面不是默认封面则删除 - if old_cover != conf.GetDefaultCover() { - os.Remove("." + old_cover) + if oldCover != conf.GetDefaultCover() { + os.Remove("." + oldCover) } c.JsonResult(0, "ok", url) @@ -417,8 +417,39 @@ func (c *BookController) Create() { if comment_status != "open" && comment_status != "closed" && comment_status != "group_only" && comment_status != "registered_only" { comment_status = "closed" } - book := models.NewBook() + book.Cover = conf.GetDefaultCover() + + + //如果客户端上传了项目封面则直接保存 + if file, moreFile, err := c.GetFile("image-file");err == nil { + defer file.Close() + + ext := filepath.Ext(moreFile.Filename) + + //如果上传的是图片 + if strings.EqualFold(ext, ".png") || strings.EqualFold(ext, ".jpg") || strings.EqualFold(ext, ".gif") || strings.EqualFold(ext, ".jpeg") { + + fileName := "cover_" + strconv.FormatInt(time.Now().UnixNano(), 16) + + filePath := filepath.Join("uploads", time.Now().Format("200601"), fileName + ext) + + path := filepath.Dir(filePath) + + os.MkdirAll(path, os.ModePerm) + + if err := c.SaveToFile("image-file", filePath); err == nil { + url := "/" + strings.Replace(strings.TrimPrefix(filePath, conf.WorkingDirectory), "\\", "/", -1) + + if strings.HasPrefix(url, "//") { + url = string(url[1:]) + } + book.Cover = url + } + } + } + + if books, _ := book.FindByField("identify", identify); len(books) > 0 { c.JsonResult(6006, "项目标识已存在") @@ -434,13 +465,13 @@ func (c *BookController) Create() { book.MemberId = c.Member.MemberId book.CommentCount = 0 book.Version = time.Now().Unix() - book.Cover = conf.GetDefaultCover() + book.Editor = "markdown" book.Theme = "default" - err := book.Insert() - if err != nil { + + if err := book.Insert();err != nil { logs.Error("Insert => ", err) c.JsonResult(6005, "保存项目失败") } diff --git a/views/book/dashboard.tpl b/views/book/dashboard.tpl index 451a4d76..53be209d 100644 --- a/views/book/dashboard.tpl +++ b/views/book/dashboard.tpl @@ -59,7 +59,7 @@
- +
diff --git a/views/book/index.tpl b/views/book/index.tpl index 518e323d..df41ad83 100644 --- a/views/book/index.tpl +++ b/views/book/index.tpl @@ -67,7 +67,10 @@ @@ -119,8 +122,8 @@