Burada yapmak istediğim şey, Dropzone.js sunucusuna bırakılan görüntünün gönderilmesinden önce, kullanıcı tarafından kırpılabilmesi için cropper.js (fengyuanchen komut dosyası) ile bir modal görüntülenir. görüntü ve görüntü kırpıldığında, Dropzone.js ile sunucuya gönderin. i fonksiyon fileToBase64 ile #cropbox görüntü src değiştirmek ve işlev ekin ('yerine') ile ekin ve görüntü değiştirdiğinizdeDropzone.js sunucusundan görüntü göndermeden önce cropper.js'yi kullanma
Yani, yerine yüklenen yenisinin, default.jpg görüntüyü görüntülemeye devam eder kullanıcı
HTML
<div class="wrapper-crop-box">
<div class="crop-box">
<img src="default.jpg" alt="Cropbox" id="cropbox">
</div>
</div>
JS:
function fileToBase64(file) {
var preview = document.querySelector('.crop-box img');
var reader = new FileReader();
reader.onloadend = function() {
preview.src = reader.result;
}
if (file) {
reader.readAsDataURL(file);
} else {
preview.src = "";
}
}
$(function() {
Dropzone.options.avtDropzone = {
acceptedFiles: 'image/*',
autoProcessQueue: true,
paramName: 'file',
maxFilesize: 2,
maxFiles: 1,
thumbnailWidth: 200,
thumbnailHeight: 200,
accept: function(file, done) {
fileToBase64(file);
$('#cropbox').cropper('replace', $('#cropbox').attr('src'));
$('.wrapper-crop-box').fadeIn();
done();
},
init: function() {
this.on("addedfile", function(file) {
if (this.files[1]!=null){
this.removeFile(this.files[0]);
}
});
}
};
$('#cropbox').cropper({
aspectRatio: 1/1,
resizable: false,
guides: false,
dragCrop: false,
autoCropArea: 0.4,
checkImageOrigin: false,
preview: '.avatar'
});
});
harika çalışıyor ... bu benim için kırpılmış görüntünün orijinalini yüklemiyorsa, ancak orijinal:/kodumu bir fiddle'e koy https://jsfiddle.net/CanR/1b9dy5cd/ bu yüzden her adım ya da iyi görünüyor, sadece sonuç, kırpılmış kare değil, orijinaldir – Can