Skip to content

Commit 1f87566

Browse files
added support for custom extensions using the edit dialogue
1 parent 85bbf70 commit 1f87566

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

ui.frontend/src/view/FormFileInputWidgetBase.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ class FormFileInputWidgetBase {
446446
let isInvalidSize = false,
447447
isInvalidFileName = false,
448448
isInvalidMimeType = false;
449-
//this.resetIfNotMultiSelect();
449+
450450
if (typeof files !== "undefined") {
451451
let invalidFilesIndexes = [];
452452
Array.from(files).forEach(function (file, fileIndex) {
@@ -466,9 +466,17 @@ class FormFileInputWidgetBase {
466466
inValidNamefileNames = currFileName + "," + inValidNamefileNames;
467467
} else {
468468
let isMatch = false;
469-
let extension = currFileName.split('.').pop();
470-
let mimeType = (file.type) ? file.type : self.extensionToMimeTypeMap[extension];
471-
if (mimeType != undefined && mimeType.trim().length > 0) {
469+
let extension = currFileName.split('.').pop().toLowerCase();
470+
let mimeType = file.type || self.extensionToMimeTypeMap[extension];
471+
472+
// If no MIME type is detected, check if the file extension is in the accept list
473+
if (!mimeType) {
474+
isMatch = this.options.accept.some(function(acceptPattern) {
475+
// Remove leading dot if present and convert to lowercase
476+
let cleanPattern = acceptPattern.replace(/^\./, '').toLowerCase();
477+
return cleanPattern === extension;
478+
});
479+
} else {
472480
isMatch = this.regexMimeTypeList.some(function (rx) {
473481
return rx.test(mimeType);
474482
});

0 commit comments

Comments
 (0)