memos/plugin/telegram/attachment.go
2023-10-26 09:02:50 +08:00

39 lines
663 B
Go

package telegram
import (
"path"
"go.uber.org/zap"
"github.com/usememos/memos/internal/log"
)
type Attachment struct {
FileName string
MimeType string
FileSize int64
Data []byte
}
var mimeTypes = map[string]string{
".jpg": "image/jpeg",
".png": "image/png",
".mp4": "video/mp4", // for video note
".oga": "audio/ogg", // for voice
}
func (b Attachment) GetMimeType() string {
if b.MimeType != "" {
return b.MimeType
}
mime, ok := mimeTypes[path.Ext(b.FileName)]
if !ok {
// Handle unknown file extension
log.Warn("Unknown file type for ", zap.String("filename", b.FileName))
return "application/octet-stream"
}
return mime
}