lupt/static/js/images.js

47 lines
1.7 KiB
JavaScript

let Images = class {
static setupImages() {
$('#file-input')[0].addEventListener('change', function(e) {
const file = e.target.files[0];
if (!file) {
return;
}
$('#progress_clip').removeClass('is-hidden');
$('#action_clip').addClass('is-hidden');
Images.compressImage(file, 0.1, 'image/webp');
});
}
static compressImage(file, qual, mime) {
new Compressor(file, {
quality: qual,
width: 320,
mimeType: mime,
success(result) {
var reader = new FileReader();
reader.readAsDataURL(result);
reader.onloadend = function() {
var base64data = reader.result;
console.log('a')
if(base64data.length > 63488 && mime != 'image/jpeg') {
base64data = null;
result = null;
Images.compressImage(file, 0.7, 'image/jpeg');
return;
} else if(base64data.length > 63488 && mime == 'image/jpeg') {
var prop = {
title: 'Warning',
text: 'file is too large!',
check: false
}; dialog(prop, function() {});
return;
}
socket.send(JSON.stringify({
cmd: "img",
src: base64data
}));
$('#progress_clip').addClass('is-hidden');
}
},
});
}
}