码迷,mamicode.com
首页 > Web开发 > 详细

beego批量上传文件

时间:2019-12-06 23:25:43      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:ble   name   解决   put   making   ret   tip   return   lse   

最近项目中用到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批量上传文件

标签:ble   name   解决   put   making   ret   tip   return   lse   

原文地址:https://www.cnblogs.com/prince5460/p/12000046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!