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

46 lines
570 B

  1. package Util
  2. import (
  3. "fmt"
  4. "os"
  5. )
  6. // WriteFile to disk
  7. func WriteFile(contents []byte) (string, error) {
  8. var (
  9. fileName string
  10. filePath string
  11. cwd string
  12. f *os.File
  13. err error
  14. )
  15. cwd, err = os.Getwd()
  16. if err != nil {
  17. return fileName, err
  18. }
  19. fileName = RandomString(32)
  20. filePath = fmt.Sprintf(
  21. "%s/attachments/%s",
  22. cwd,
  23. fileName,
  24. )
  25. f, err = os.Create(filePath)
  26. if err != nil {
  27. return fileName, err
  28. }
  29. defer f.Close()
  30. _, err = f.Write(contents)
  31. if err != nil {
  32. return fileName, err
  33. }
  34. return fileName, nil
  35. }