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)
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小阿大:)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值