本文整理汇总了Golang中pixelrelay/db.Dbh.GetUploaderByEmail方法的典型用法代码示例。如果您正苦于以下问题:Golang Dbh.GetUploaderByEmail方法的具体用法?Golang Dbh.GetUploaderByEmail怎么用?Golang Dbh.GetUploaderByEmail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pixelrelay/db.Dbh
的用法示例。
在下文中一共展示了Dbh.GetUploaderByEmail方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: UploadImage
func UploadImage(w http.ResponseWriter, upload models.ImageUpload, req *http.Request, r render.Render, dbh *db.Dbh) {
ur := &models.UploadResult{}
rEmail := upload.Email
rAlbum := upload.Album
rPrivateKey := upload.PrivateKey
fiName := upload.File.Filename
upload_time := time.Now().Unix()
ur.SetCode(200)
ur.SetResult("success")
ur.SetName(fiName)
tmp_file := utils.ImageCfg.Root() + ur.GetName()
if Exists(tmp_file) {
log.Println("Error: File exists. (" + tmp_file + ")")
ur.SetCode(2)
ur.SetResult("File exists")
r.JSON(500, ur)
return
}
out, err := os.Create(tmp_file)
if err != nil {
log.Println("Error: Unable to open file.")
ur.SetCode(500)
ur.SetResult("Failed to open the file for writing.")
r.JSON(500, ur)
return
}
defer out.Close()
fi, err := upload.File.Open()
if err != nil {
log.Println("fi err: ", err)
ur.SetCode(500)
ur.SetResult(err.Error())
r.JSON(500, ur)
return
}
defer fi.Close()
_, err = io.Copy(out, fi)
if err != nil {
log.Println("Error: Failed to copy file.")
ur.SetCode(500)
ur.SetResult("Failed to copy file to new location.")
r.JSON(500, ur)
return
}
log.Printf("tmp_file: %s\n", tmp_file)
// Add image uploader to database
dbh.AddUploader(models.Uploader{Email: rEmail, Timestamp: upload_time})
// Setup hashid to create unique file name
var hid models.HashID
hid.Init(utils.AppCfg.SecretKey(), 10)
// Get user id
user := dbh.GetUserByEmail(rEmail)
log.Println("user: ", user.Id)
if user.Id > 0 {
// Add user id to hashid - seg 1
hid.AddId(int(user.Id))
} else {
hid.AddId(0)
}
// Get uploader id
user2 := dbh.GetUploaderByEmail(rEmail)
log.Println("uploader user: ", user2.Id)
if user2.Id > 0 {
// Add uploader id to hashid - seg 2
hid.AddId(int(user2.Id))
} else {
hid.AddId(0)
}
// Create default album description
album := models.Album{
Name: rAlbum,
User: user.Id,
Privatekey: rPrivateKey,
Private: true,
Timestamp: upload_time}
album.DefaultDescription()
log.Println(album)
// Add album
dbh.AddAlbum(album)
log.Println("album: ", album)
nAlbum := dbh.GetAlbum(rAlbum)
//.........这里部分代码省略.........