Display alert if filesize is exceeded #1451

This commit is contained in:
Kijin Sung 2020-10-30 21:35:41 +09:00
parent 921c318bb0
commit 6e2cbbbdfa
3 changed files with 26 additions and 2 deletions

View file

@ -284,6 +284,16 @@
catch(err) {
return false;
}
},
/* Format file size */
filesizeFormat: function(size) {
if (size < 2) return size + 'Byte';
if (size < 1024) return size + 'Bytes';
if (size < 1048576) return (size / 1024).toFixed(1) + 'KB';
if (size < 1073741824) return (size / 1048576).toFixed(2) + 'MB';
if (size < 1099511627776) return (size / 1073741824).toFixed(2) + 'GB';
return (size / 1099511627776).toFixed(2) + 'TB';
}
};
@ -396,6 +406,20 @@ jQuery(function($) {
});
}
/* enforce max filesize on file uploaeds */
$(document).on('change', 'input[type=file]', function() {
var max_filesize = $(this).data('max-filesize');
if (!max_filesize) return;
var files = $(this).get(0).files;
if (!files || !files[0]) return;
if (files[0].size > max_filesize) {
var max_filesize_error = String($(this).data('max-filesize-error'));
max_filesize_error = max_filesize_error.replace('%s', XE.filesizeFormat(max_filesize));
this.value = '';
alert(max_filesize_error);
}
});
jQuery('input[type="submit"],button[type="submit"]').click(function(ev){
var $el = jQuery(ev.currentTarget);

View file

@ -17,7 +17,7 @@ $lang->allow_outlink_site = 'Allowed Websites';
$lang->allow_outlink_format = 'Allowed Formats';
$lang->allow_multimedia_direct_download = 'Allow Direct Link to Multimedia Attachments';
$lang->allowed_filesize = 'Maximum File Size';
$lang->allowed_filesize_exceeded = 'The file is too large. The maximum allowed filesize is %sMB.';
$lang->allowed_filesize_exceeded = 'The file is too large. The maximum allowed filesize is %s.';
$lang->allowed_attach_size = 'Maximum Attachments';
$lang->allowed_filetypes = 'Allowed extentsions';
$lang->download_short_url = 'Use short URL';

View file

@ -16,7 +16,7 @@ $lang->allow_outlink = '다운로드 링크 외부 접근 허용';
$lang->allow_outlink_site = '외부 접근 허용 사이트';
$lang->allow_outlink_format = '외부 접근 허용 확장자';
$lang->allowed_filesize = '파일 용량 제한';
$lang->allowed_filesize_exceeded = '파일이 너무 큽니다. 용량 제한은 %sMB입니다.';
$lang->allowed_filesize_exceeded = '파일이 너무 큽니다. 용량 제한은 %s입니다.';
$lang->allowed_attach_size = '문서 첨부 제한';
$lang->allowed_filetypes = '허용 확장자';
$lang->allow_multimedia_direct_download = '멀티미디어 파일 직접 접근 허용';