There was an error while loading. Please reload this page.
1 parent 5d229eb commit 513aadbCopy full SHA for 513aadb
2 files changed
kernel/model/assets.go
@@ -285,7 +285,7 @@ func NetAssets2LocalAssets(rootID string, onlyImg bool, originalURL string) (err
285
name, _ = url.PathUnescape(name)
286
name = util.FilterUploadFileName(name)
287
ext := util.Ext(name)
288
- if "" == ext {
+ if !util.IsCommonExt(ext) {
289
if mtype := mimetype.Detect(data); nil != mtype {
290
ext = mtype.Extension()
291
name += ext
kernel/util/file.go
@@ -148,6 +148,22 @@ func RemoveID(name string) string {
148
return name + ext
149
}
150
151
+var commonSuffixes = []string{
152
+ ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".svg", ".webp", ".tiff",
153
+ ".txt", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".md", ".rtf",
154
+ ".zip", ".rar", ".7z", ".tar", ".gz", ".bz2",
155
+ ".mp3", ".wav", ".aac", ".flac", ".ogg", ".m4a",
156
+ ".mp4", ".avi", ".mkv", ".mov", ".wmv", ".flv",
157
+ ".exe", ".bat", ".sh", ".app",
158
+ ".js", ".ts", ".html", ".css", ".go", ".py", ".java", ".c", ".cpp", ".json", ".xml", ".yaml", ".toml",
159
+ ".sql", ".db", ".sqlite", ".csv",
160
+ ".iso", ".dmg", ".apk", ".bin",
161
+}
162
+
163
+func IsCommonExt(ext string) bool {
164
+ return strings.HasPrefix(ext, ".") && gulu.Str.Contains(strings.ToLower(ext), commonSuffixes)
165
166
167
func Ext(name string) (ret string) {
168
ret = path.Ext(name)
169
if "." == ret {
0 commit comments