mirror of
https://github.com/piskelapp/piskel.git
synced 2023-08-10 21:12:52 +03:00
deploy dev version
This commit is contained in:
51
dev/js/utils/FileUtils.js
Normal file
51
dev/js/utils/FileUtils.js
Normal file
@ -0,0 +1,51 @@
|
||||
(function () {
|
||||
var ns = $.namespace('pskl.utils');
|
||||
|
||||
var stopPropagation = function (e) {
|
||||
e.stopPropagation();
|
||||
};
|
||||
|
||||
ns.FileUtils = {
|
||||
readFile : function (file, callback) {
|
||||
var reader = new FileReader();
|
||||
reader.addEventListener('loadend', function() {
|
||||
callback(reader.result);
|
||||
});
|
||||
reader.readAsDataURL(file);
|
||||
},
|
||||
|
||||
readFileAsArrayBuffer : function (file, callback) {
|
||||
var reader = new FileReader();
|
||||
reader.addEventListener('loadend', function() {
|
||||
callback(reader.result);
|
||||
});
|
||||
reader.readAsArrayBuffer(file);
|
||||
},
|
||||
|
||||
readImageFile : function (file, callback) {
|
||||
ns.FileUtils.readFile(file, function (content) {
|
||||
var image = new Image();
|
||||
image.onload = callback.bind(null, image);
|
||||
image.src = content;
|
||||
});
|
||||
},
|
||||
|
||||
downloadAsFile : function (content, filename) {
|
||||
var saveAs = window.saveAs || (navigator.msSaveBlob && navigator.msSaveBlob.bind(navigator));
|
||||
if (saveAs) {
|
||||
saveAs(content, filename);
|
||||
} else {
|
||||
var downloadLink = document.createElement('a');
|
||||
content = window.URL.createObjectURL(content);
|
||||
downloadLink.setAttribute('href', content);
|
||||
downloadLink.setAttribute('download', filename);
|
||||
document.body.appendChild(downloadLink);
|
||||
downloadLink.addEventListener('click', stopPropagation);
|
||||
downloadLink.click();
|
||||
downloadLink.removeEventListener('click', stopPropagation);
|
||||
document.body.removeChild(downloadLink);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
})();
|
Reference in New Issue
Block a user