You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

file.go 1.1 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "mime/multipart"
  5. "github.com/casbin/casbase/object"
  6. )
  7. func (c *ApiController) UpdateFile() {
  8. storeId := c.Input().Get("store")
  9. key := c.Input().Get("key")
  10. var file object.File
  11. err := json.Unmarshal(c.Ctx.Input.RequestBody, &file)
  12. if err != nil {
  13. panic(err)
  14. }
  15. c.Data["json"] = object.UpdateFile(storeId, key, &file)
  16. c.ServeJSON()
  17. }
  18. func (c *ApiController) AddFile() {
  19. storeId := c.Input().Get("store")
  20. key := c.Input().Get("key")
  21. isLeaf := c.Input().Get("isLeaf") == "1"
  22. filename := c.Input().Get("filename")
  23. var file multipart.File
  24. if isLeaf {
  25. var err error
  26. file, _, err = c.GetFile("file")
  27. if err != nil {
  28. c.ResponseError(err.Error())
  29. return
  30. }
  31. defer file.Close()
  32. }
  33. c.Data["json"] = object.AddFile(storeId, key, isLeaf, filename, file)
  34. c.ServeJSON()
  35. }
  36. func (c *ApiController) DeleteFile() {
  37. storeId := c.Input().Get("store")
  38. key := c.Input().Get("key")
  39. isLeaf := c.Input().Get("isLeaf") == "1"
  40. c.Data["json"] = object.DeleteFile(storeId, key, isLeaf)
  41. c.ServeJSON()
  42. }

基于Casbin的开源AI领域知识库平台

Contributors (1)