首页 > Web开发 > 详细

beego 简单的文件上传下载功能

时间:2020-08-24 12:02:31      阅读:258      评论:0      收藏:0      [点我收藏+]

下载文件功能编写html代码上传文件 提交走路由

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form enctype="multipart/form-data" method="post" action="/filed">
    <input type="file" name="filename" />
    <input type="submit">
</form>
</body>
</html>

  

编写路由 入口到接收文件

package routers

import (
	"booktest/controllers"
	"github.com/astaxie/beego"
)

func init() {
    beego.Router("/files",&controllers.BookController{},"get:FileS")
    beego.Router("/filed",&controllers.BookController{},"post:FileD")
}

  

控制器代码 可操作模型层

func (b *BookController) FileS()  {
	b.TplName="filed.html"
}

func (this *BookController) FileD()  {
	// 读取文件信息
	f, h, err := this.GetFile("filename")

	if err != nil {
		log.Fatal("读取文件错误", err)
	}

	// 延迟关闭文件
	defer f.Close()

    //查看文件可忽略 可保存文件以后在读取
	data, err := ioutil.ReadAll(f)
	if err != nil {
		logs.Debug(err)
	}
	this.Ctx.WriteString(string(data))
	// 保存文件, 本地文件路径static/upload/上传文件名
	// 需要提前创建好static/upload目录
	this.SaveToFile("filename", "static/upload/" + h.Filename)
}

  

beego 简单的文件上传下载功能

原文:https://www.cnblogs.com/itcjl/p/13552992.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!