golang 调用七牛云存储简单实例

package util
import (
   "fmt"
   . "github.com/qiniu/api.v6/conf"
   qnio "github.com/qiniu/api.v6/io"
   "github.com/qiniu/api.v6/rs"
   "bufio"
   "os"
   "github.com/astaxie/beego"
)
//filepath  文件路径
func Upload(filepath string) string {
   //你去七牛申请的
   ACCESS_KEY = beego.AppConfig.String("ACCESS_KEY")
   SECRET_KEY = beego.AppConfig.String("SECRET_KEY")
   var ret qnio.PutRet

   var extra = &qnio.PutExtra{
      MimeType: "image/jepg",
      CheckCrc: 0,
   }

   putPolicy := rs.PutPolicy{
      //私有空间名
      Scope: "tribe",
      // Expires:      expires,
   }
   uptoken := putPolicy.Token(nil)
   fi, err := os.Open(filepath)
   st, _ := fi.Stat()
   st.Name()
   if err != nil {
      panic(err)
   }
   defer fi.Close()
   data := bufio.NewReader(fi)

   fmt.Println("size ", st.Size())
   //服务上的文件名
   filename := st.Name()
   err = qnio.Put2(nil, &ret, uptoken, filename, data, st.Size(), extra)
   if err != nil {
      fmt.Println(err)
   } else {
      fmt.Println("put sucess......", ret)
   }
   return ret.Hash

}


你可能感兴趣的:(golang 调用七牛云存储简单实例)