yirenyishi 6 anni fa
parent
commit
0c24b23669
  1. 2
      conf/app.conf
  2. 65
      controllers/FileController.go
  3. 1
      routers/router.go
  4. 15
      views/note.html

2
conf/app.conf

@ -8,4 +8,4 @@ sessiongcmaxlifetime = 36000
EnableGzip = true
EnableDocs = true
host = aiprose.com
host = aiprose.com

65
controllers/FileController.go

@ -0,0 +1,65 @@
package controllers
import (
"github.com/astaxie/beego"
"path"
"time"
"os"
"fmt"
"crypto/md5"
"math/rand"
"beeblog/models"
)
type FileController struct {
beego.Controller
}
func (this *FileController) Upload() {
filename := ""
for filename, _ = range this.Ctx.Request.MultipartForm.File {}
f, h, filerr := this.GetFile(filename) //获取上传的文件
if filerr != nil {
fmt.Println("err:", filerr)
this.Data["json"] = models.ReurnError(500, "后缀名不符合上传要求")
this.ServeJSON()
return
}
ext := path.Ext(h.Filename)
//验证后缀名是否符合要求
var AllowExtMap map[string]bool = map[string]bool{
".jpg": true,
".jpeg": true,
".png": true,
}
if _, ok := AllowExtMap[ext]; !ok {
this.Data["json"] = models.ReurnError(500, "后缀名不符合上传要求")
this.ServeJSON()
return
}
//创建目录
uploadDir := "static/upload/" + time.Now().Format("2006/01/02/")
err := os.MkdirAll(uploadDir, 777)
if err != nil {
this.Data["json"] = models.ReurnError(500, "")
this.ServeJSON()
return
}
//构造文件名称
rand.Seed(time.Now().UnixNano())
randNum := fmt.Sprintf("%d", rand.Intn(9999)+1000)
hashName := md5.Sum([]byte( time.Now().Format("2006_01_02_15_04_05_") + randNum ))
fileName := fmt.Sprintf("%x", hashName) + ext
fpath := uploadDir + fileName
defer f.Close() //关闭上传的文件,不然的话会出现临时文件不能清除的情况
err = this.SaveToFile(filename, fpath)
if err != nil {
fmt.Println(err)
this.Data["json"] = models.ReurnError(500, "")
this.ServeJSON()
return
}
this.Data["json"] = models.ReurnData("",fpath)
this.ServeJSON()
return
}

1
routers/router.go

@ -8,5 +8,6 @@ import (
func init() {
beego.Router("/", &controllers.IndexController{})
beego.Router("/map", &controllers.MapController{})
beego.Router("/file/upload", &controllers.FileController{}, "post:Upload")
beego.Include(&controllers.PageController{})
}

15
views/note.html

@ -70,9 +70,9 @@
</li>
{{end}}
{{/*{{if len .NoteColls 0}}*/}}
{{/*<ul class="cd-navigation cd-single-item-wrapper">*/}}
{{/*<li><a href="javascript:void(0)">新增文件夹</a></li>*/}}
{{/*</ul>*/}}
{{/*<ul class="cd-navigation cd-single-item-wrapper">*/}}
{{/*<li><a href="javascript:void(0)">新增文件夹</a></li>*/}}
{{/*</ul>*/}}
{{/*{{end}}*/}}
</ul>
</nav>
@ -84,8 +84,15 @@
var E = window.wangEditor
var editor = new E('#editor')
var note = null
editor.customConfig.uploadImgServer = '/upload'
editor.customConfig.uploadImgServer = '/file/upload'
// 或者 var editor = new E( document.getElementById('editor') )
editor.customConfig.uploadImgHooks = {
customInsert: function (insertImg, result, editor) {
var url = result.Data.replace("static/upload", "https://airose.com/itstack");
insertImg(url);
debugger
}
}
editor.create()
editor.txt.html("<p>点击右上角菜单新建或者选择笔记</p>");

Caricamento…
Annulla
Salva