Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func PostJoke(c *gin.Context) {
- var err error
- userId, userName, userAvatar := shared.GetUserInfo(c)
- if userId == 0 {
- c.JSON(403, gin.H{"error": "not authorized"})
- }
- title := c.PostForm("title")
- content := c.PostForm("content")
- nsfwSt := c.PostForm("nsfw")
- nsfw, err := strconv.Atoi(nsfwSt)
- if err != nil {
- log.Panic(err)
- c.JSON(http.StatusInternalServerError, gin.H{"error": "internal server error"})
- }
- file, err := c.FormFile("file")
- if err != nil {
- log.Println(err)
- c.String(http.StatusBadRequest, fmt.Sprintf("get form err: %s", err.Error()))
- return
- }
- dir, err := os.Getwd()
- if err != nil {
- log.Fatal(err)
- }
- filename := path.Join(shared.RandString(6) + path.Ext(file.Filename))
- dest := dir + "/media/photos/" + filename
- if err := c.SaveUploadedFile(file, dest); err != nil {
- c.String(http.StatusBadRequest, fmt.Sprintf("upload file err: %s", err.Error()))
- return
- }
- _, err = shared.Dbmap.Exec("INSERT INTO joke (user_id, username, user_avatar, title, content, photo, nsfw) VALUES (?, ?, ?, ?, ?, ?, ?)", userId, userName, userAvatar, title, content, filename, nsfw)
- if err != nil {
- log.Println(err)
- c.JSON(http.StatusInternalServerError, gin.H{"error": "internal server error"})
- }
- fmt.Println("end of function")
- c.JSON(http.StatusOK, gin.H{"sccess": "joke is created"})
- }
- signal: killed
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement