项目作者: krilie

项目描述 :
s-file gin upload file to local path and delete file
高级语言: Go
项目地址: git://github.com/krilie/go-sfile.git
创建时间: 2019-09-05T10:24:49Z
项目社区:https://github.com/krilie/go-sfile

开源协议:

下载


s-file

s-file gin upload file to local path and delete file

use

go get github.com/krilie/s-file

example

  1. func main() {
  2. sfile := s_file.NewSFile("./files")
  3. gin.SetMode(gin.DebugMode)
  4. engine := gin.New()
  5. engine.POST("/upload", func(c *gin.Context) {
  6. fileHeader, err := c.FormFile("file")
  7. if err != nil {
  8. c.JSON(400, gin.H{"msg": err.Error()})
  9. return
  10. }
  11. log.Printf("upload file %v", fileHeader.Filename)
  12. file, err := fileHeader.Open()
  13. if err != nil {
  14. c.JSON(400, gin.H{"msg": err.Error()})
  15. return
  16. }
  17. defer file.Close()
  18. content, key, err := sfile.SaveFile(c, fileHeader.Filename, file)
  19. if err != nil {
  20. c.JSON(400, gin.H{"msg": err.Error()})
  21. return
  22. }
  23. c.JSON(200, gin.H{"msg": content, "key": key, "size": fileHeader.Size})
  24. return
  25. })
  26. engine.POST("/delete/:key", func(c *gin.Context) {
  27. err := sfile.DeleteFile(c, c.Param("key"))
  28. if err != nil {
  29. c.JSON(400, gin.H{"msg": err.Error()})
  30. return
  31. }
  32. c.JSON(200, gin.H{"msg": "ok"})
  33. return
  34. })
  35. err := engine.Run(":80")
  36. log.Println(err)
  37. }