Skip to content

Commit 89be70d

Browse files
committed
Fix #1771: Correct inadvertent revert in #1777
1 parent aff4b0d commit 89be70d

File tree

2 files changed

+39
-30
lines changed

2 files changed

+39
-30
lines changed

js/fileinput.js

+35-26
Original file line numberDiff line numberDiff line change
@@ -1085,7 +1085,7 @@
10851085
loaded: loaded,
10861086
total: total,
10871087
bps: fm.bps,
1088-
bitrate: self._getSize(fm.bps, self.bitRateUnits),
1088+
bitrate: self._getSize(fm.bps, false, self.bitRateUnits),
10891089
pendingBytes: pendingBytes
10901090
};
10911091
if (id) {
@@ -4175,25 +4175,35 @@
41754175
var self = this;
41764176
$h.addCss(self.$captionContainer, 'icon-visible');
41774177
},
4178-
_getSize: function (bytes, sizes) {
4179-
var self = this, size = parseFloat(bytes), i, func = self.fileSizeGetter, out;
4178+
_getSize: function (bytes, skipTemplate, sizeUnits) {
4179+
var self = this, size = parseFloat(bytes), i = 0, factor = self.bytesToKB, func = self.fileSizeGetter, out,
4180+
sizeHuman = size, newSize;
41804181
if (!$.isNumeric(bytes) || !$.isNumeric(size)) {
41814182
return '';
41824183
}
41834184
if (typeof func === 'function') {
41844185
out = func(size);
41854186
} else {
4186-
if (size === 0) {
4187-
out = '0.00 B';
4188-
} else {
4189-
if (!sizes) {
4190-
sizes = self.sizeUnits;
4187+
if (size > 0) {
4188+
if (!sizeUnits) {
4189+
sizeUnits = self.sizeUnits;
4190+
}
4191+
while (sizeHuman >= factor) {
4192+
sizeHuman /= factor;
4193+
++i;
41914194
}
4192-
i = Math.floor(Math.log(size) / Math.log(self.bytesToKB));
4193-
out = (size / Math.pow(self.bytesToKB, i)).toFixed(2) + ' ' + sizes[i];
4195+
if (!sizeUnits[i]) {
4196+
sizeHuman = size;
4197+
i = 0;
4198+
}
4199+
}
4200+
newSize = sizeHuman.toFixed(2);
4201+
if (newSize == sizeHuman) {
4202+
newSize = sizeHuman;
41944203
}
4204+
out = newSize + ' ' + sizeUnits[i];
41954205
}
4196-
return self._getLayoutTemplate('size').replace('{sizeText}', out);
4206+
return skipTemplate ? out : self._getLayoutTemplate('size').replace('{sizeText}', out);
41974207
},
41984208
_getFileType: function (ftype) {
41994209
var self = this;
@@ -5447,10 +5457,10 @@
54475457
return;
54485458
}
54495459
self.lock(true);
5450-
var file = files[i], id = self._getFileId(file), previewId = previewInitId + '-' + id, fSizeKB, j, msg,
5451-
fnImage = settings.image, typ, chk, typ1, typ2,
5452-
caption = self._getFileName(file, ''), fileSize = (file && file.size || 0) / self.bytesToKB,
5453-
fileExtExpr = '', previewData = $h.createObjectURL(file), fileCount = 0,
5460+
var file = files[i], id = self._getFileId(file), previewId = previewInitId + '-' + id,
5461+
fSize = (file && file.size || 0), sizeHuman = self._getSize(fSize, true), j, msg,
5462+
fnImage = settings.image, chk, typ, typ1, typ2, caption = self._getFileName(file, ''),
5463+
fileSize = fSize / self.bytesToKB, fileExtExpr = '', previewData = $h.createObjectURL(file), fileCount = 0,
54545464
strTypes = '', fileId, canLoad, fileReaderAborted = false,
54555465
func, knownTypes = 0, isImage, txtFlag, processFileLoaded = function () {
54565466
var isImageResized = !!fm.loadedImages[id], msg = msgProgress.setTokens({
@@ -5497,14 +5507,13 @@
54975507
if (!$h.isEmpty(fileExt)) {
54985508
fileExtExpr = new RegExp('\\.(' + fileExt.join('|') + ')$', 'i');
54995509
}
5500-
fSizeKB = fileSize.toFixed(2);
55015510
if (self.isAjaxUpload && fm.exists(fileId) || self._getFrame(previewId, true).length) {
55025511
var p2 = {id: previewId, index: i, fileId: fileId, file: file, files: files};
5503-
msg = self.msgDuplicateFile.setTokens({name: caption, size: fSizeKB});
5512+
msg = self.msgDuplicateFile.setTokens({name: caption, size: sizeHuman});
55045513
if (self.isAjaxUpload) {
55055514
self.duplicateErrors.push(msg);
55065515
self.isDuplicateError = true;
5507-
self._raise('fileduplicateerror', [file, fileId, caption, fSizeKB, previewId, i]);
5516+
self._raise('fileduplicateerror', [file, fileId, caption, sizeHuman, previewId, i]);
55085517
readFile(i + 1);
55095518
self._updateFileDetails(numFiles);
55105519
} else {
@@ -5520,17 +5529,17 @@
55205529
if (self.maxFileSize > 0 && fileSize > self.maxFileSize) {
55215530
msg = self.msgSizeTooLarge.setTokens({
55225531
'name': caption,
5523-
'size': fSizeKB,
5524-
'maxSize': self.maxFileSize
5532+
'size': sizeHuman,
5533+
'maxSize': self._getSize(self.maxFileSize * self.bytesToKB, true)
55255534
});
55265535
throwError(msg, file, previewId, i, fileId);
55275536
return;
55285537
}
55295538
if (self.minFileSize !== null && fileSize <= $h.getNum(self.minFileSize)) {
55305539
msg = self.msgSizeTooSmall.setTokens({
55315540
'name': caption,
5532-
'size': fSizeKB,
5533-
'minSize': self.minFileSize
5541+
'size': sizeHuman,
5542+
'minSize': self._getSize(self.minFileSize * self.bytesToKB, true)
55345543
});
55355544
throwError(msg, file, previewId, i, fileId);
55365545
return;
@@ -5558,7 +5567,7 @@
55585567
}
55595568
}
55605569
if (!self._canPreview(file)) {
5561-
canLoad = self.isAjaxUpload && self._raise('filebeforeload', [file, i, reader]);
5570+
canLoad = self._raise('filebeforeload', [file, i, reader]);
55625571
if (self.isAjaxUpload && canLoad) {
55635572
fm.add(file);
55645573
}
@@ -6278,8 +6287,8 @@
62786287
msgPlaceholder: 'Select {files} ...',
62796288
msgZoomModalHeading: 'Detailed Preview',
62806289
msgFileRequired: 'You must select a file to upload.',
6281-
msgSizeTooSmall: 'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',
6282-
msgSizeTooLarge: 'File "{name}" (<b>{size} KB</b>) exceeds maximum allowed upload size of <b>{maxSize} KB</b>.',
6290+
msgSizeTooSmall: 'File "{name}" (<b>{size}</b>) is too small and must be larger than <b>{minSize}</b>.',
6291+
msgSizeTooLarge: 'File "{name}" (<b>{size}</b>) exceeds maximum allowed upload size of <b>{maxSize}</b>.',
62836292
msgFilesTooLess: 'You must select at least <b>{n}</b> {files} to upload.',
62846293
msgFilesTooMany: 'Number of files selected for upload <b>({n})</b> exceeds maximum allowed limit of <b>{m}</b>.',
62856294
msgTotalFilesTooMany: 'You can upload a maximum of <b>{m}</b> files (<b>{n}</b> files detected).',
@@ -6324,7 +6333,7 @@
63246333
msgImageResizeException: 'Error while resizing the image.<pre>{errors}</pre>',
63256334
msgAjaxError: 'Something went wrong with the {operation} operation. Please try again later!',
63266335
msgAjaxProgressError: '{operation} failed',
6327-
msgDuplicateFile: 'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',
6336+
msgDuplicateFile: 'File "{name}" of same size "{size}" has already been selected earlier. Skipping duplicate selection.',
63286337
msgResumableUploadRetriesExceeded: 'Upload aborted beyond <b>{max}</b> retries for file <b>{file}</b>! Error Details: <pre>{error}</pre>',
63296338
msgPendingTime: '{time} remaining',
63306339
msgCalculatingTime: 'calculating time remaining',

0 commit comments

Comments
 (0)