beego批量上传文件
Posted prince5460
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了beego批量上传文件相关的知识,希望对你有一定的参考价值。
最近项目中用到beego,需要实现文件批量上传,翻了好久beego的文档都没有找到满意的解决办法,结果看源码时发现作者已经给出了相关实现代码,在源码包controller.go文件中560-586行,记录如下:
//GetFiles return multi-upload files
files, err:=c.GetFiles("myfiles")
if err != nil {
http.Error(w, err.Error(), http.StatusNoContent)
return
}
for i, _ := range files {
//for each fileheader, get a handle to the actual file
file, err := files[i].Open()
defer file.Close()
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
//create destination file making sure the path is writeable.
dst, err := os.Create("upload/" + files[i].Filename)
defer dst.Close()
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
//copy the uploaded file to the destination file
if _, err := io.Copy(dst, file); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
对应的input标签需设置
multiple
属性
<input type="file" multiple name="myfiles">
以上是关于beego批量上传文件的主要内容,如果未能解决你的问题,请参考以下文章