45 lines
1.2 KiB
JavaScript
Executable File
45 lines
1.2 KiB
JavaScript
Executable File
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
define([
|
|
'jquery'
|
|
], function ($) {
|
|
'use strict';
|
|
|
|
/**
|
|
* Init "readAsBinaryString" function for FileReader class.
|
|
* It need for IE11
|
|
* @param {Blob} fileData
|
|
*/
|
|
var readAsBinaryStringIEFunc = function (fileData) {
|
|
var binary = '',
|
|
self = this,
|
|
reader = new FileReader();
|
|
|
|
/**
|
|
* Read file as binary string
|
|
*/
|
|
reader.onload = function () {
|
|
var bytes, length, index;
|
|
|
|
/* eslint-disable no-undef */
|
|
bytes = new Uint8Array(reader.result);
|
|
/* eslint-enable */
|
|
length = bytes.length;
|
|
|
|
for (index = 0; index < length; index++) {
|
|
binary += String.fromCharCode(bytes[index]);
|
|
}
|
|
//self.result - readonly so assign binary
|
|
self.content = binary;
|
|
$(self).trigger('onload');
|
|
};
|
|
reader.readAsArrayBuffer(fileData);
|
|
};
|
|
|
|
if (typeof FileReader.prototype.readAsBinaryString === 'undefined') {
|
|
FileReader.prototype.readAsBinaryString = readAsBinaryStringIEFunc;
|
|
}
|
|
});
|