Я создаю загрузку изображений, которая сжимает изображение с помощью compress.js перед загрузкой с загрузкой файла jquery, но я не понимаю, как передать эту информацию о двоичном объекте обратно в данные формы, прежде чем загрузка из файла jquery отправит данные. Я работаю с компрессором и загружаю отдельно, просто не могу понять, как заставить их работать вместе.
$('#upload').fileupload({
dropZone: $('#drop'),
// This function is called when a file is added to the queue;
add: function (e, data) {
var Compressor = window.Compressor;
var URL = window.URL || window.webkitURL;
var output = document.getElementById('output');
new Promise((resolve, reject) => {
new Compressor(data.files[0], {
quality: 0.1,
maxHeight : 2880,
maxWidth : 5760,
mimeType: 'image/jpeg',
success: resolve,
error: reject,
});
}).then((result) => {
console.log('Compress success');
var newImage = new Image();
newImage.src = URL.createObjectURL(result);
newImage.alt = 'Compressed image';
output.appendChild(newImage);
// This is where I'm trying to update the original file
with the new compressed file before jquery uploader submit..
data.formData = newImage.src;
console.log(data);
var jqXHR = data.submit();
}).catch((err) => {
console.log('Compress error');
window.alert(err.message);
}).finally(() => {
console.log('Compress complete');
});
}
});