package main import ( "context" "fmt" _ "gdyb/routers" "gdyb/service" "gdyb/utils" "github.com/astaxie/beego" "github.com/qiniu/api.v7/auth/qbox" "github.com/qiniu/api.v7/storage" "os" "strconv" "time" ) func init() { service.ConnectDB() } func main() { org_id, _ := beego.AppConfig.Int64("org_id") miConfig, _ := service.FindMedicalInsuranceInfo(org_id) dir := miConfig.OrgName + "日志" utils.Mkdir(dir) month := time.Unix(1557042972, 0).Format("1") year := time.Now().Format("2006") month = time.Now().Format("01") day := time.Now().Format("02") file := strconv.FormatInt(org_id, 10) + "_" + year + month + day + "_log" file_name := file + ".txt" file_path := miConfig.OrgName + "日志" + "/" + file_name exist, _ := utils.PathExists(file_path) if exist { //存在 fmt.Println("存在") f, err := os.OpenFile(file_path, os.O_WRONLY, 0644) if err != nil { fmt.Println("read fail") } content := "\r\n" n, _ := f.Seek(0, 2) _, err = f.WriteAt([]byte(content), n) } else { //不存在 fmt.Println("文件不存在,创建文件") f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name) defer f.Close() if err != nil { } else { _, err = f.Write([]byte("记录日志")) } } //upload_qiniu(file_path,miConfig.OrgName+"_"+year+month+day) beego.Run() } func upload_qiniu(filePath string, temp_key string) { key := temp_key //上传凭证,关于凭证这块大家可以去看看官方文档 putPolicy := storage.PutPolicy{ Scope: beego.AppConfig.String("qiniu_bucket"), } mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey")) upToken := putPolicy.UploadToken(mac) cfg := storage.Config{} //空间对应机房 //其中关于Zone对象和机房的关系如下: // 机房 Zone对象 // 华东 storage.ZoneHuadong // 华北 storage.ZoneHuabei // 华南 storage.ZoneHuanan // 北美 storage.ZoneBeimei //七牛云存储空间设置首页有存储区域 cfg.Zone = &storage.ZoneHuadong //不启用HTTPS域名 cfg.UseHTTPS = false //不使用CND加速 cfg.UseCdnDomains = false //构建上传表单对象 formUploader := storage.NewFormUploader(&cfg) ret := storage.PutRet{} // 可选 putExtra := storage.PutExtra{ Params: map[string]string{}, } err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra) if err != nil { fmt.Println(err) return } }