本文整理汇总了Golang中admin/app/models.Copyfrom.Thumb方法的典型用法代码示例。如果您正苦于以下问题:Golang Copyfrom.Thumb方法的具体用法?Golang Copyfrom.Thumb怎么用?Golang Copyfrom.Thumb使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类admin/app/models.Copyfrom
的用法示例。
在下文中一共展示了Copyfrom.Thumb方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Add
//添加来源
func (c Copyfrom) Add(copyfrom *models.Copyfrom) revel.Result {
if c.Request.Method == "GET" {
title := "添加来源--GoCMS管理系统"
c.Render(title)
return c.RenderTemplate("Extend/Copyfrom/Add.html")
} else {
//接收上传文件
thumb, header, err := c.Request.FormFile("thumb")
if err != nil {
//来源logo
copyfrom.Thumb = ""
} else {
defer thumb.Close()
//判断是否是系统的分隔符
separator := "/"
if os.IsPathSeparator('\\') {
separator = "\\"
} else {
separator = "/"
}
fileData, _ := ioutil.ReadAll(thumb)
if len(fileData) >= 1024*1024*2 {
c.Flash.Error("你上传大小为" + utils.FileSize(len(fileData)) + ",文件应小于2M!")
c.Flash.Out["url"] = "/Copyfrom/Add/"
return c.Redirect("/Message/")
}
basepath, _ := filepath.Abs("")
config_file := (revel.BasePath + "/conf/config.conf")
config_file = strings.Replace(config_file, "/", separator, -1)
config_conf, _ := config.ReadDefault(config_file)
//上传文件目录
upload_dir, _ := config_conf.String("upload", "upload.dir")
//允许上传的后缀名
filesuffix, _ := config_conf.String("upload", "upload.filesuffix")
//文件类型检测
if !strings.Contains(filesuffix, path.Ext(header.Filename)) {
c.Flash.Error("文件只支持图片!")
c.Flash.Out["url"] = "/Copyfrom/Add/"
return c.Redirect("/Message/")
}
//文件保存目录
web_save_path := fmt.Sprintf("/%s/copyfrom/%s", upload_dir, time.Now().Format("2006/01/02/"))
save_path := fmt.Sprintf("%s/www/%s/copyfrom/%s", basepath, upload_dir, time.Now().Format("2006/01/02/"))
//字符串替换 /替换为系统分隔符
save_path = strings.Replace(save_path, "/", separator, -1)
//新文件名
rand.Seed(time.Now().UnixNano())
rand_num := rand.Intn(99999)
new_file_name := time.Now().Format("20060102150404") + strconv.Itoa(rand_num) + path.Ext(header.Filename)
//创建目录
error := os.MkdirAll(save_path, os.ModePerm)
if error != nil {
c.Flash.Error(error.Error())
c.Flash.Out["url"] = "/Copyfrom/Add/"
return c.Redirect("/Message/")
}
//保存文件
file_dir := save_path + new_file_name
save_url := web_save_path + new_file_name
e := ioutil.WriteFile(file_dir, fileData, os.ModePerm)
if e != nil {
c.Flash.Error(e.Error())
c.Flash.Out["url"] = "/Copyfrom/Add/"
return c.Redirect("/Message/")
}
//来源logo
copyfrom.Thumb = save_url
}
//来源名称
var sitename string = c.Params.Get("sitename")
if len(sitename) > 0 {
copyfrom.Sitename = sitename
} else {
c.Flash.Error("请输入来源名称!")
c.Flash.Out["url"] = "/Copyfrom/Add/"
return c.Redirect("/Message/")
}
//来源链接
var siteurl string = c.Params.Get("siteurl")
if len(siteurl) > 0 {
copyfrom.Siteurl = siteurl
} else {
//.........这里部分代码省略.........