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.

39 lines
686B

  1. package main
  2. import (
  3. "log"
  4. "os"
  5. "github.com/rakyll/magicmime"
  6. )
  7. func getFileSize(s string) (size int64, err error) {
  8. f, err := os.Open(s)
  9. if err != nil {
  10. size = 0
  11. return
  12. }
  13. fi, err := f.Stat()
  14. if err == nil {
  15. size = fi.Size()
  16. } else {
  17. size = 0
  18. }
  19. return
  20. }
  21. func getFileMime(s string) (mimetype string, err error) {
  22. if err := magicmime.Open(magicmime.MAGIC_MIME_TYPE | magicmime.MAGIC_SYMLINK | magicmime.MAGIC_ERROR); err != nil {
  23. log.Fatal(err)
  24. return "", err
  25. }
  26. defer magicmime.Close()
  27. mimetype, err = magicmime.TypeByFile(s)
  28. if err != nil {
  29. log.Fatalf("error occured during type lookup: %v", err)
  30. }
  31. //log.Printf("mime-type: %v", mimetype)
  32. return
  33. }