summaryrefslogtreecommitdiffstats
path: root/bridge/matrix
diff options
context:
space:
mode:
Diffstat (limited to 'bridge/matrix')
-rw-r--r--bridge/matrix/matrix.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/bridge/matrix/matrix.go b/bridge/matrix/matrix.go
index 4cc524ea..d659aaa2 100644
--- a/bridge/matrix/matrix.go
+++ b/bridge/matrix/matrix.go
@@ -205,6 +205,20 @@ func (b *Bmatrix) handleEvent(ev *matrix.Event) {
info := ev.Content["info"].(map[string]interface{})
size := info["size"].(float64)
name := ev.Content["body"].(string)
+ // check if we have an image uploaded without extension
+ if !strings.Contains(name, ".") {
+ if ev.Content["msgtype"].(string) == "m.image" {
+ if mtype, ok := ev.Content["mimetype"].(string); ok {
+ mext, _ := mime.ExtensionsByType(mtype)
+ if len(mext) > 0 {
+ name = name + mext[0]
+ }
+ } else {
+ // just a default .png extension if we don't have mime info
+ name = name + ".png"
+ }
+ }
+ }
flog.Debugf("trying to download %#v with size %#v", name, size)
if size <= float64(b.General.MediaDownloadSize) {
data, err := helper.DownloadFile(url)