imgsrv/types/types.go

40 lines
741 B
Go
Raw Normal View History

2013-05-09 16:13:46 +00:00
package types
import (
"mime"
"path/filepath"
"strings"
"time"
)
type Info struct {
2013-03-27 20:30:24 +00:00
Keywords []string // tags
Ip string // who uploaded it
Random int64
TimeStamp time.Time "timestamp,omitempty"
}
type File struct {
2013-03-27 20:30:24 +00:00
Metadata Info ",omitempty"
Md5 string
ChunkSize int
UploadDate time.Time
Length int64
Filename string ",omitempty"
ContentType string "contentType,omitempty"
}
func (f *File) SetContentType() {
f.ContentType = mime.TypeByExtension(filepath.Ext(f.Filename))
}
func (f *File) IsImage() bool {
f.SetContentType()
return strings.HasPrefix(f.ContentType, "image")
}
func (f *File) IsVideo() bool {
f.SetContentType()
return strings.HasPrefix(f.ContentType, "video")
}