Beego 框架文件存储

Posted 一只小阿大:)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Beego 框架文件存储相关的知识,希望对你有一定的参考价值。


文件存储在当前工程中,新建static/upload/file/这样路径的文件夹,可根据需求更换
例:backend_beego\\static\\upload\\file
第一个是工程名称

当然随机生成的这个写的其实有点问题,如果随机生成的两个文件名一样的情况没考虑,后续会添加时间戳

func (c *UploadFileController) Post() 
	//获取文件
	f, h, err := c.GetFile("file")
	//延迟关闭文件
	defer f.Close()
	//获取文件失败
	if err != nil 
		c.ErrMsg("获取文件失败")
	
	//获取文件后缀名
	suffix := path.Ext(h.Filename)
	//拼接路径,随机生成12位文件名,文件格式
	fileDir := "static/upload/file/" + RandString(12) + suffix
	//文件存储失败
	if err = c.SaveToFile("file", fileDir); err != nil 
		c.ErrMsg(err.Error())
	
	c.SuccessData(fileDir)


func RandString(len int) string 
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
	bytes := make([]byte, len)
	for i := 0; i < len; i++ 
		b := r.Intn(26) + 65
		bytes[i] = byte(b)
	
	return string(bytes)



以上是关于Beego 框架文件存储的主要内容,如果未能解决你的问题,请参考以下文章

4. Beego 框架之cookie与session

使用beego框架

golang web框架 beego 学习 配置文件

如何在Golang beego框架中将数据从MySQL数据库保存到redis?

Go语言之高级篇Beego框架之爬虫项目实战

beego框架学习 -路由设置