zoukankan      html  css  js  c++  java
  • 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">
    
  • 相关阅读:
    正则表达式(转)
    Collections中的shuffle()方法
    Fermat定理
    哈希算法(转)
    Hungarian method (匈牙利算法)----解决指派问题(转)
    蒙塔卡洛模拟
    线程的礼让
    线程间的沟通
    安装rlwrap
    yum切到光盘源
  • 原文地址:https://www.cnblogs.com/prince5460/p/12000046.html
Copyright © 2011-2022 走看看