Skip to content

Commit

Permalink
OSS上传
Browse files Browse the repository at this point in the history
  • Loading branch information
TruthHun88 committed Jul 29, 2018
1 parent 9943b59 commit 4fd1077
Show file tree
Hide file tree
Showing 15 changed files with 37 additions and 38 deletions.
2 changes: 1 addition & 1 deletion controllers/AdminControllers/BannerController.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func (this *BannerController) Add() {
if err == nil {
if md5str, err := helper.FileMd5(filepath); err == nil {
save := md5str + "." + ext
err = models.ModelOss.MoveToOss(filepath, save, true, true)
err = models.NewOss().MoveToOss(filepath, save, true, true)
if err == nil {
var banner models.Banner
this.ParseForm(&banner)
Expand Down
4 changes: 2 additions & 2 deletions controllers/AdminControllers/KindEditorController.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ func (this *KindEditorController) Upload() {
this.Response(map[string]interface{}{"message": err.Error(), "error": 1})
} else {
//将文件上传到OSS
err = models.ModelOss.MoveToOss(savefile, ossfile, true, true)
err = models.NewOss().MoveToOss(savefile, ossfile, true, true)
if err == nil {
this.Response(map[string]interface{}{"url": models.ModelOss.PreviewUrl + ossfile, "error": 0})
this.Response(map[string]interface{}{"url": models.NewOss().PreviewUrl + ossfile, "error": 0})
} else {
this.Response(map[string]interface{}{"message": err.Error(), "error": 1})
}
Expand Down
6 changes: 3 additions & 3 deletions controllers/AdminControllers/SingleController.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func (this *SingleController) Edit() {
if this.Ctx.Request.Method == "POST" {
this.ParseForm(&page)
page.TimeCreate = int(time.Now().Unix())
page.Content = models.ModelOss.HandleContent(page.Content, false)
page.Content = models.NewOss().HandleContent(page.Content, false)
if rows, err := models.O.Update(&page); err == nil && rows > 0 {
this.ResponseJson(1, "更新成功")
} else if err != nil {
Expand All @@ -35,7 +35,7 @@ func (this *SingleController) Edit() {
}
} else {
page, _ = models.ModelPages.One(alias)
page.Content = models.ModelOss.HandleContent(page.Content, true)
page.Content = models.NewOss().HandleContent(page.Content, true)
this.Data["Data"] = page
this.TplName = "edit.html"
}
Expand All @@ -51,7 +51,7 @@ func (this *SingleController) Del() {
if _, err = models.O.QueryTable(models.TablePages).Filter("Id", page.Id).Delete(); err != nil {
this.ResponseJson(0, err.Error())
} else {
go models.ModelOss.DelByHtmlPics(page.Content)
go models.NewOss().DelByHtmlPics(page.Content)
this.ResponseJson(1, "删除成功")
}
}
Expand Down
2 changes: 1 addition & 1 deletion controllers/HomeControllers/BaseController.go
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ func (this *BaseController) Pages() {
this.Data["Seo"] = models.ModelSeo.GetByPage("PC-Pages", page.Title, page.Keywords, page.Description, this.Sys.Site)
page.Vcnt += 1
models.O.Update(&page, "Vcnt")
page.Content = models.ModelOss.HandleContent(page.Content, true)
page.Content = models.NewOss().HandleContent(page.Content, true)

this.Data["Page"] = page
this.Data["Lists"], _, _ = models.ModelPages.List(20, 1)
Expand Down
6 changes: 3 additions & 3 deletions controllers/HomeControllers/UserController.go
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ func (this *UserController) CreateCollectFolder() {
err = this.SaveToFile("Cover", dir+file)
if err == nil {
//将图片移动到OSS
err = models.ModelOss.MoveToOss(dir+file, file, true, true)
err = models.NewOss().MoveToOss(dir+file, file, true, true)
helper.Logger.Debug(dir + file)
if err != nil {
helper.Logger.Error(err.Error())
Expand Down Expand Up @@ -752,7 +752,7 @@ func (this *UserController) Avatar() {
helper.Logger.Error("用户(%v)头像保存失败:%v", this.IsLogin, err.Error())
this.ResponseJson(0, "头像文件保存失败")
}
err = models.ModelOss.MoveToOss(tmpfile, savefile, true, true)
err = models.NewOss().MoveToOss(tmpfile, savefile, true, true)
if err != nil {
helper.Logger.Error(err.Error())
this.ResponseJson(0, "头像文件保存失败")
Expand All @@ -762,7 +762,7 @@ func (this *UserController) Avatar() {
models.O.Read(&user)
if len(user.Avatar) > 0 {
//删除原头像图片
go models.ModelOss.DelFromOss(true, user.Avatar)
go models.NewOss().DelFromOss(true, user.Avatar)
}
user.Avatar = savefile
rows, err := models.O.Update(&user, "Avatar")
Expand Down
4 changes: 2 additions & 2 deletions controllers/HomeControllers/ViewController.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,9 @@ func (this *ViewController) Download() {

file := fmt.Sprintf("%v.%v", info["Md5"], info["Ext"])
//设置附件名
models.ModelOss.SetObjectMeta(file, fmt.Sprintf("%v.%v", info["Title"], info["Ext"]))
models.NewOss().SetObjectMeta(file, fmt.Sprintf("%v.%v", info["Title"], info["Ext"]))
//链接签名
url := models.ModelOss.BuildSign(file)
url := models.NewOss().BuildSign(file)
//文档下载次数+1
models.Regulate(models.TableDocInfo, "Dcnt", 1, fmt.Sprintf("Id=%v", info["Id"]))
if price < 0 { //扣除了金币,则下载可以免费下载
Expand Down
2 changes: 1 addition & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func init() {
beego.AddFuncMap("DoesCollect", DoesCollect) //判断用户是否已收藏了该文档
beego.AddFuncMap("DoesSign", DoesSign) //用户今日是否已签到
beego.AddFuncMap("Friends", Friends) //友情链接
beego.AddFuncMap("DefPic", models.ModelOss.DefaultPicture) //获取默认图片
beego.AddFuncMap("DefPic", models.NewOss().DefaultPicture) //获取默认图片
beego.AddFuncMap("CategoryName", models.ModelCategory.GetTitleById) //根据分类id获取分类名称
beego.AddFuncMap("IsIllegal", models.ModelDoc.IsIllegal) //根据md5判断文档是否是非法文档
beego.AddFuncMap("IsRemark", models.ModelDocRemark.IsRemark) //根据文档是否存在备注
Expand Down
2 changes: 1 addition & 1 deletion models/BannerModel.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func (this *Banner) Del(id ...interface{}) (affected int64, err error) {
}
}
if len(objs) > 0 {
go ModelOss.DelFromOss(true, objs...)
go NewOss().DelFromOss(true, objs...)
}
return qs.Delete()
}
Expand Down
2 changes: 1 addition & 1 deletion models/CollectModel.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func (this *Collect) DelFolder(id, uid int) (err error) {
} else {
if _, err = O.Delete(&cf, "Id"); err == nil {
if len(cf.Cover) > 0 {
go ModelOss.DelFromOss(true, cf.Cover)
go NewOss().DelFromOss(true, cf.Cover)
}
err = Regulate("user_info", "Collect", -1, "Uid=?", uid)
}
Expand Down
16 changes: 8 additions & 8 deletions models/DocumentModel.go
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ func HandlePdf(uid int, tmpfile string, form FormUpload) error {
//处理pdf文档,转成svg图片,再将svg图片压缩,上传到OSS预览库
go func(tmpfile, md5str string, totalPage int) {
//把原文档移动到存档库,先暂时不要删除本地的原PDF文件
ModelOss.MoveToOss(tmpfile, md5str+".pdf", false, false)
NewOss().MoveToOss(tmpfile, md5str+".pdf", false, false)

if sys.PreviewPage > 0 {
totalPage = sys.PreviewPage //转化供预览的总页数
Expand Down Expand Up @@ -312,7 +312,7 @@ func HandleOffice(uid int, tmpfile string, form FormUpload) (err error) {
//处理pdf
if err = HandlePdf(uid, pdf, form); err == nil {
//如果转成pdf文档成功,则把原文档移动到OSS存储服务器
ModelOss.MoveToOss(tmpfile, form.Md5+"."+form.Ext, false, true)
NewOss().MoveToOss(tmpfile, form.Md5+"."+form.Ext, false, true)
} else {
helper.Logger.Error("pdf文档(%v)处理错误:%v", pdf, err.Error())
}
Expand All @@ -330,7 +330,7 @@ func HandleUnOffice(uid int, tmpfile string, form FormUpload) error {
if form.Ext != ".umd" { //calibre暂时无法转换umd文档
if pdfFile, err := helper.UnofficeToPdf(tmpfile); err == nil {
//如果转成pdf文档成功,则把原文档移动到OSS存储服务器
defer ModelOss.MoveToOss(tmpfile, form.Md5+"."+form.Ext, false, true)
defer NewOss().MoveToOss(tmpfile, form.Md5+"."+form.Ext, false, true)
return HandlePdf(uid, pdfFile, form)
} else {
helper.Logger.Error(err.Error())
Expand Down Expand Up @@ -382,7 +382,7 @@ func HandleUnOffice(uid int, tmpfile string, form FormUpload) error {
_, err = O.Insert(&docinfo)
if err == nil {
//把原文档移动到存档库
go ModelOss.MoveToOss(tmpfile, form.Md5+"."+form.Ext, false, true)
go NewOss().MoveToOss(tmpfile, form.Md5+"."+form.Ext, false, true)
//增加文档统计数量
DocCntInre(form.Chanel, form.Pid, form.Cid, uid)
}
Expand Down Expand Up @@ -539,18 +539,18 @@ func (this *Document) DocDeepDel(ids ...interface{}) (errs []string) {
}
go func() {
//删除预览文档
if err := ModelOss.DelFromOss(true, store.Md5+".pdf"); err != nil {
if err := NewOss().DelFromOss(true, store.Md5+".pdf"); err != nil {
helper.Logger.Error(err.Error())
}
//删除封面图片
if err := ModelOss.DelFromOss(true, store.Md5+".jpg"); err != nil {
if err := NewOss().DelFromOss(true, store.Md5+".jpg"); err != nil {
helper.Logger.Error(err.Error())
}
//删除原文档
if err := ModelOss.DelFromOss(false, store.Md5+"."+store.Ext); err != nil {
if err := NewOss().DelFromOss(false, store.Md5+"."+store.Ext); err != nil {
helper.Logger.Error(err.Error())
}
if err := ModelOss.DelFromOss(false, store.Md5+".pdf"); err != nil {
if err := NewOss().DelFromOss(false, store.Md5+".pdf"); err != nil {
helper.Logger.Error(err.Error())
}
}()
Expand Down
6 changes: 3 additions & 3 deletions models/Install.go
Original file line number Diff line number Diff line change
Expand Up @@ -635,7 +635,7 @@ func installCfg() {
cfgEmail := []Config{
Config{
Title: "主机",
Description: "请填写邮箱HOST,当前仅支持SMTP",
Description: "请填写邮箱HOST,当前仅支持SMTP。示例:smtpdm.aliyun.com",
Key: "host",
Value: "",
Category: cateEmail,
Expand Down Expand Up @@ -826,8 +826,8 @@ func installCfg() {
Category: cateES,
},
Config{
Title: "Host",
Description: "ElasticSearch Host,如:http://localhost:9200",
Title: "服务地址",
Description: "ElasticSearch Host,如:http://localhost:9200,带http",
Key: "host",
Value: "",
Category: cateES,
Expand Down
9 changes: 4 additions & 5 deletions models/Models.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ var (
ModelSys = new(Sys) //系统
ModelUser = new(User) //用户
ModelUserInfo = new(UserInfo) //用户信息
ModelOss = NewOss() //OSS
ModelWord = new(Word) //关键字
ModelFreeDown = new(FreeDown) //免费下载,如果文档时收费下载,则用户下载第一次之后,在一定的时间范围内,再次下载则免费
ModelSearchLog = new(SearchLog) //搜索日志
Expand Down Expand Up @@ -577,7 +576,7 @@ func Pdf2Svg(file string, totalPage int, md5str string) (err error) {
if num == 1 {
//封面处理
if cover, err := helper.ConvertToJpeg(svgfile, false); err == nil {
ModelOss.MoveToOss(cover, md5str+".jpg", true, true)
NewOss().MoveToOss(cover, md5str+".jpg", true, true)
}
//获取svg的宽高(pt)
width, height = helper.ParseSvgWidthAndHeight(svgfile)
Expand All @@ -590,7 +589,7 @@ func Pdf2Svg(file string, totalPage int, md5str string) (err error) {

//压缩svg内容
helper.CompressSvg(svgfile)
ModelOss.MoveToOss(svgfile, md5str+"/"+strconv.Itoa(num)+".svg", true, true, compress)
NewOss().MoveToOss(svgfile, md5str+"/"+strconv.Itoa(num)+".svg", true, true, compress)
}
}

Expand All @@ -614,10 +613,10 @@ func Pdf2Svg(file string, totalPage int, md5str string) (err error) {
//svg结尾
if strings.HasSuffix(file, ".svg") { //svg结尾的,都是文档页
slice := strings.Split(file, "/")
ModelOss.MoveToOss(file, fmt.Sprintf("%v/%v", md5str, slice[len(slice)-1]), true, true, compress)
NewOss().MoveToOss(file, fmt.Sprintf("%v/%v", md5str, slice[len(slice)-1]), true, true, compress)
filenum++ //
} else if strings.HasSuffix(file, ".jpg") { //jpg结尾的,基本都是封面图片
ModelOss.MoveToOss(file, md5str+".jpg", true, true)
NewOss().MoveToOss(file, md5str+".jpg", true, true)
filenum++
}
}
Expand Down
10 changes: 5 additions & 5 deletions models/OssModel.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,17 +127,17 @@ func (this *Oss) MoveToOss(local, save string, IsPreview, IsDel bool, IsGzip ...
return err
}

isgzip := false
isGzip := false
//如果是开启了gzip,则需要设置文件对象的响应头
if len(IsGzip) > 0 && IsGzip[0] == true {
isgzip = true
isGzip = true
}

//在移动文件到OSS之前,先压缩文件
if isgzip {
if isGzip {
if bs, err := ioutil.ReadFile(local); err != nil {
helper.Logger.Error(err.Error())
isgzip = false //设置为false
isGzip = false //设置为false
} else {
var by bytes.Buffer
w := gzip.NewWriter(&by)
Expand All @@ -152,7 +152,7 @@ func (this *Oss) MoveToOss(local, save string, IsPreview, IsDel bool, IsGzip ...
helper.Logger.Error("文件移动到OSS失败:%v", err.Error())
}
//如果是开启了gzip,则需要设置文件对象的响应头
if isgzip {
if isGzip {
bucket.SetObjectMeta(save, oss.ContentEncoding("gzip")) //设置gzip响应头
}

Expand Down
2 changes: 1 addition & 1 deletion views/Home/default/Index/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
{{with .User}}
<div class="text-center row">
<div class="col-xs-5">
<a href="/user/{{.Id}}" title="{{.Username}}" class="thumbnail wenku-avatar"><img alt="{{.Username}}" src="{{DefPic .Avatar "avatar"}}"/></a>
<a href="/user/{{.Id}}" title="{{.Username}}" class="thumbnail wenku-avatar"><img onerror="this.src='/static/Common/img/avatar.png'" alt="{{.Username}}" src="{{DefPic .Avatar "avatar"}}"/></a>
</div>
<div class="col-xs-7 text-left wenku-mgt-15px">
<div class="wenku-username"><a href="/user/{{.Id}}" target="_blank" title="{{.Username}}">{{.Username}}</a></div>
Expand Down
2 changes: 1 addition & 1 deletion views/Home/default/User/public.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<div class="col-xs-4 wenku-no-pdr">
{{if eq $.LoginUid (.User.Id|Interface2Int)}}
<a href="javascript:void(0);" title="点击选择图片更换头像" data-placement="bottom" class="thumbnail wenku-circle-avatar wenku-tooltip wenku-update-avatar">
<img class="img-responsive" alt="{{.User.Username}}" src="{{DefPic .User.Avatar "avatar"}}"/>
<img onerror="this.src='/static/Common/img/avatar.png'" class="img-responsive" alt="{{.User.Username}}" src="{{DefPic .User.Avatar "avatar"}}"/>
</a>
<!--更新头像-->
<form action="/user/avatar" method="post" enctype="multipart/form-data" style="display: none;" target="notarget">
Expand Down

0 comments on commit 4fd1077

Please sign in to comment.