commit a9d3ead40b3e6f0910e1414df38d2c1216942a57
parent d7646b3d43a661b1555633d204d2341844a4091a
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Sat, 7 Jan 2023 22:08:05 -0800
add support for bmp avatar
Diffstat:
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -12,6 +12,7 @@ import (
"fmt"
"github.com/jinzhu/gorm"
"github.com/notnil/chess"
+ _ "golang.org/x/image/bmp"
"image"
_ "image/gif"
"image/png"
@@ -3009,8 +3010,8 @@ func changeAvatarForm(c echo.Context, data settingsAccountData) error {
filetype := http.DetectContentType(fileBytes)
logrus.Error(filetype)
- if filetype != "image/jpeg" && filetype != "image/png" && filetype != "image/gif" {
- data.ErrorAvatar = "The provided file format is not allowed. Please upload a JPEG, PNG or GIF image"
+ if filetype != "image/jpeg" && filetype != "image/png" && filetype != "image/gif" && filetype != "image/bmp" {
+ data.ErrorAvatar = "The provided file format is not allowed. Please upload a JPEG, PNG, BMP or GIF image"
return c.Render(http.StatusOK, "settings.account", data)
}
@@ -3023,8 +3024,10 @@ func changeAvatarForm(c echo.Context, data settingsAccountData) error {
ext = ".png"
case "image/gif":
ext = ".gif"
+ case "image/bmp":
+ ext = ".bmp"
default:
- data.ErrorAvatar = "Image must be JPEG, PNG, or GIF."
+ data.ErrorAvatar = "Image must be JPEG, PNG, BMP or GIF."
return c.Render(http.StatusOK, "settings.account", data)
}
diff --git a/pkg/web/public/views/pages/settings/account.gohtml b/pkg/web/public/views/pages/settings/account.gohtml
@@ -68,7 +68,7 @@
The maximum dimensions for avatars are: 120x120 pixels.<br />
The maximum file size for avatars is 300 KB.
</p>
- <input name="avatar" class="{{ if .Data.ErrorAvatar }} is-invalid{{ end }}" type="file" accept=".gif,.png,.jpg,.jpeg,image/gif,image/png,image/jpeg" required />
+ <input name="avatar" class="{{ if .Data.ErrorAvatar }} is-invalid{{ end }}" type="file" accept=".bmp,.gif,.png,.jpg,.jpeg,image/gif,image/png,image/jpeg,image/bmp" required />
{{ if .Data.ErrorAvatar }}
<div class="invalid-feedback">{{ .Data.ErrorAvatar }}</div>
{{ end }}