У меня есть два разных раздела для загрузки изображений на веб-сайте, один для баннера, а другой для изображения профиля. У них тоже разные измерения. загрузка изображения работает на оверлейной странице.
Я добавил изображение croppie на свой сервер и в соответствии с моими кодами, когда пользователь нажимает на изображение баннера, оно автоматически устанавливает его размер на изображение croppie, а когда пользователь нажимает на изображение профиля, он устанавливает размер изображения профиля равным изображение кроппи.
Все, что я хочу, это когда пользователь загрузит фотографию, а затем отменит ее, все исчезнет. Теперь, если пользователь загрузит фотографию в баннерную фотографию, а затем отменит ее, фотография все еще будет доступна, когда мы вернемся к оверлею загрузки изображения. Также, если пользователь нажимает на изображение профиля, оно снова показывает фотографию баннера с его размером.
Я хочу, чтобы, когда пользователь нажимал кнопку отмены (в моих кодах .fa-times), все о загруженном изображении и его размерах будет удалено. Затем, если пользователь нажмет на другой раздел (фотография профиля или баннер), пользователь увидит новую страницу с нужным размером.
Вот мои коды, это коды, когда пользователь нажимает на кнопку обзора, чтобы выбрать изображение для загрузки.
this.body.addClass("overlay--active");
var imageBody = $(e.target).closest(".icon");
this.height = imageBody.attr("data-height");
this.width = imageBody.attr("data-width");
var crop = new Croppie(document.getElementById('js-image-editor'), {
enableExif: true,
showZoomer: true,
viewport: { width: this.width, height: this.height, type: 'square'},
boundary: { width: this.width, height: this.height}
});
function readFile(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('.section').addClass('ready');
// crop.croppie('bind', {
crop.bind({
url: e.target.result
}).then(function(){
console.log('jQuery bind complete');
});
}
reader.readAsDataURL(input.files[0]);
}
else {
swal("Sorry - you're browser doesn't support the FileReader API");
}
}
$('.button-upload-image').on('change', function () { readFile(this); });
$('.fa-save').on('click', function (ev) {
crop.result ({
type: 'canvas',
size: 'viewport'
}).then(function () {
console.log('upload image complete');
});
});
$(".fa-times").click(function() {
$('.section').removeClass('ready');
crop.bind ({
url: ''
}).then(function(){
console.log('reset complete');
});
})
как вы можете видеть в последнем блоке, я попытался сбросить изображение, но оно не работает. Каждый раз, когда появляется ошибка «Croppie: не могу инициализировать croppie более одного раза».
Кто-нибудь может мне помочь в этом? Я очень благодарен за вашу помощь заранее.