|
1085 | 1085 | loaded: loaded,
|
1086 | 1086 | total: total,
|
1087 | 1087 | bps: fm.bps,
|
1088 |
| - bitrate: self._getSize(fm.bps, self.bitRateUnits), |
| 1088 | + bitrate: self._getSize(fm.bps, false, self.bitRateUnits), |
1089 | 1089 | pendingBytes: pendingBytes
|
1090 | 1090 | };
|
1091 | 1091 | if (id) {
|
|
4175 | 4175 | var self = this;
|
4176 | 4176 | $h.addCss(self.$captionContainer, 'icon-visible');
|
4177 | 4177 | },
|
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; |
4180 | 4181 | if (!$.isNumeric(bytes) || !$.isNumeric(size)) {
|
4181 | 4182 | return '';
|
4182 | 4183 | }
|
4183 | 4184 | if (typeof func === 'function') {
|
4184 | 4185 | out = func(size);
|
4185 | 4186 | } 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; |
4191 | 4194 | }
|
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; |
4194 | 4203 | }
|
| 4204 | + out = newSize + ' ' + sizeUnits[i]; |
4195 | 4205 | }
|
4196 |
| - return self._getLayoutTemplate('size').replace('{sizeText}', out); |
| 4206 | + return skipTemplate ? out : self._getLayoutTemplate('size').replace('{sizeText}', out); |
4197 | 4207 | },
|
4198 | 4208 | _getFileType: function (ftype) {
|
4199 | 4209 | var self = this;
|
|
5447 | 5457 | return;
|
5448 | 5458 | }
|
5449 | 5459 | 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, |
5454 | 5464 | strTypes = '', fileId, canLoad, fileReaderAborted = false,
|
5455 | 5465 | func, knownTypes = 0, isImage, txtFlag, processFileLoaded = function () {
|
5456 | 5466 | var isImageResized = !!fm.loadedImages[id], msg = msgProgress.setTokens({
|
|
5497 | 5507 | if (!$h.isEmpty(fileExt)) {
|
5498 | 5508 | fileExtExpr = new RegExp('\\.(' + fileExt.join('|') + ')$', 'i');
|
5499 | 5509 | }
|
5500 |
| - fSizeKB = fileSize.toFixed(2); |
5501 | 5510 | if (self.isAjaxUpload && fm.exists(fileId) || self._getFrame(previewId, true).length) {
|
5502 | 5511 | 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}); |
5504 | 5513 | if (self.isAjaxUpload) {
|
5505 | 5514 | self.duplicateErrors.push(msg);
|
5506 | 5515 | self.isDuplicateError = true;
|
5507 |
| - self._raise('fileduplicateerror', [file, fileId, caption, fSizeKB, previewId, i]); |
| 5516 | + self._raise('fileduplicateerror', [file, fileId, caption, sizeHuman, previewId, i]); |
5508 | 5517 | readFile(i + 1);
|
5509 | 5518 | self._updateFileDetails(numFiles);
|
5510 | 5519 | } else {
|
|
5520 | 5529 | if (self.maxFileSize > 0 && fileSize > self.maxFileSize) {
|
5521 | 5530 | msg = self.msgSizeTooLarge.setTokens({
|
5522 | 5531 | 'name': caption,
|
5523 |
| - 'size': fSizeKB, |
5524 |
| - 'maxSize': self.maxFileSize |
| 5532 | + 'size': sizeHuman, |
| 5533 | + 'maxSize': self._getSize(self.maxFileSize * self.bytesToKB, true) |
5525 | 5534 | });
|
5526 | 5535 | throwError(msg, file, previewId, i, fileId);
|
5527 | 5536 | return;
|
5528 | 5537 | }
|
5529 | 5538 | if (self.minFileSize !== null && fileSize <= $h.getNum(self.minFileSize)) {
|
5530 | 5539 | msg = self.msgSizeTooSmall.setTokens({
|
5531 | 5540 | 'name': caption,
|
5532 |
| - 'size': fSizeKB, |
5533 |
| - 'minSize': self.minFileSize |
| 5541 | + 'size': sizeHuman, |
| 5542 | + 'minSize': self._getSize(self.minFileSize * self.bytesToKB, true) |
5534 | 5543 | });
|
5535 | 5544 | throwError(msg, file, previewId, i, fileId);
|
5536 | 5545 | return;
|
|
5558 | 5567 | }
|
5559 | 5568 | }
|
5560 | 5569 | if (!self._canPreview(file)) {
|
5561 |
| - canLoad = self.isAjaxUpload && self._raise('filebeforeload', [file, i, reader]); |
| 5570 | + canLoad = self._raise('filebeforeload', [file, i, reader]); |
5562 | 5571 | if (self.isAjaxUpload && canLoad) {
|
5563 | 5572 | fm.add(file);
|
5564 | 5573 | }
|
|
6278 | 6287 | msgPlaceholder: 'Select {files} ...',
|
6279 | 6288 | msgZoomModalHeading: 'Detailed Preview',
|
6280 | 6289 | 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>.', |
6283 | 6292 | msgFilesTooLess: 'You must select at least <b>{n}</b> {files} to upload.',
|
6284 | 6293 | msgFilesTooMany: 'Number of files selected for upload <b>({n})</b> exceeds maximum allowed limit of <b>{m}</b>.',
|
6285 | 6294 | msgTotalFilesTooMany: 'You can upload a maximum of <b>{m}</b> files (<b>{n}</b> files detected).',
|
|
6324 | 6333 | msgImageResizeException: 'Error while resizing the image.<pre>{errors}</pre>',
|
6325 | 6334 | msgAjaxError: 'Something went wrong with the {operation} operation. Please try again later!',
|
6326 | 6335 | 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.', |
6328 | 6337 | msgResumableUploadRetriesExceeded: 'Upload aborted beyond <b>{max}</b> retries for file <b>{file}</b>! Error Details: <pre>{error}</pre>',
|
6329 | 6338 | msgPendingTime: '{time} remaining',
|
6330 | 6339 | msgCalculatingTime: 'calculating time remaining',
|
|
0 commit comments