diff --git a/modules/extravar/skins/default/assets/file_upload.js b/modules/extravar/skins/default/assets/file_upload.js index 24e1593e2..878ac15af 100644 --- a/modules/extravar/skins/default/assets/file_upload.js +++ b/modules/extravar/skins/default/assets/file_upload.js @@ -11,6 +11,15 @@ }); $('input.rx_ev_file').on('change', function() { const container = $(this).parents('.ev_file_upload'); + const max_size = parseInt($(this).data('allowedFilesize'), 10); + const file_count = this.files.length; + for (let i = 0; i < file_count; i++) { + if (max_size && this.files[i].size > max_size) { + alert($(this).data('msgFilesize')); + $(this).val(''); + return; + } + } container.find('input[type=hidden][name^=_delete_]').val('N'); }); }); diff --git a/modules/extravar/skins/default/form_types/file_upload.blade.php b/modules/extravar/skins/default/form_types/file_upload.blade.php index 33640820e..8b8f0dfe0 100644 --- a/modules/extravar/skins/default/form_types/file_upload.blade.php +++ b/modules/extravar/skins/default/form_types/file_upload.blade.php @@ -16,10 +16,19 @@ @endif @endif + @php + $file_config = FileModel::getUploadConfig($definition->module_srl); + $allowed_filetypes = strtr($file_config->allowed_filetypes ?? '', ['*.' => '.', ';' => ',']); + $allowed_filesize = ($file_config->allowed_filesize ?? 0) * 1024 * 1024; + @endphp +