Salve , ho un form e un dropzone che in fase di upload invia i dati all'onsending dei file di dropzone ad un o script php che salva tutto in un db :
codice:
if (document.getElementById('myDropzone')) {
var drz = new Dropzone("#myDropzone",
{
url: "{{route('userLibri.update',['id'=>$record->id])}}",
autoProcessQueue: false,
uploadMultiple: true,
paramName: "file",
clickable: true,
maxFilesize: 10, //in mb
addRemoveLinks: true,
acceptedFiles: ".jpeg,.jpg,.png,.gif",
dictDefaultMessage: "Clicca o trascina il tuo file QUI ",
maxFiles: 3,
parallelUploads: 3, //di default è 2 se non settato e carica solamente 2 file
init: function() {
var myDropzone = this;
// In edit
@php
$n=0;
foreach ($lista_immagini_libri as $v) :
@endphp
let mockFile_immagini_libri{{$n}} = { name: '{{$v->nome_file}}', size: 12345 ,nome_file_originale:'{{$v->token_nome_file_originales }}'};
myDropzone.displayExistingFile(mockFile_immagini_libri{{$n}}, '/uploads/immagini_libri/{{Auth()->user()->id}}/{{$record->id}}/{{ $v->nome_file }}');
$('.dz-upload:last-child').attr('style', 'width:100%');
@php
$n++;
endforeach;
@endphp
$('#button_metti_in_vendita').on("click", function() {
var id_users =$('#id_users').val();
var titolo = $('#id_class_titolo').val() ;
var codice_isbn= $('#id_class_codice_isbn').val() ;
var autore= $('#id_class_autore').val() ;
var id_stati_conservazione = $('#id_id_stati_conservazione').val();
var note= $('#id_class_note').val();
//numero file nella dropzone
var numero_file_dropzone =$("#myDropzone").find(".dz-image").length;
//se non ho titolo
if(titolo=='' || titolo==null){
var message ='Non hai inserito il titolo!!!';
$('#alertModal').find('.modal-body h3').text(message);
$('#alertModal').modal('show');
}else if(codice_isbn=='' || codice_isbn==null){
var message ='Non hai inserito il codice isbn!!!';
$('#alertModal').find('.modal-body h3').text(message);
$('#alertModal').modal('show');
}else if(autore=='' || autore==null){
var message ='Non hai inserito l\'autore!!!';
$('#alertModal').find('.modal-body h3').text(message);
$('#alertModal').modal('show');
}else if(id_stati_conservazione=='' || id_stati_conservazione==null ) {
var message ='Non hai selezionato nessuno stato di conservazione!!!';
$('#alertModal').find('.modal-body h3').text(message);
$('#alertModal').modal('show');
}else if(!numero_file_dropzone) {
var message ='Non hai inserito nessun file!!!';
$('#alertModal').find('.modal-body h3').text(message);
$('#alertModal').modal('show');
}else{//se non ho nessun errore procedo
alert('pulsante premuto');
var myDropzone = Dropzone.forElement(".dropzone");
myDropzone.processQueue();
}
});
this.on("sending", function(file, xhr, formData){
console.log("sending file");
formData.append("id",'{{$record->id}}' );
formData.append("_token",'{{csrf_token()}}' );
formData.append("_method",'PATCH' );
formData.append("id_users", {{ $user->id}} );
formData.append("titolo", $('#id_class_titolo').val() );
formData.append("codice_isbn", $('#id_class_codice_isbn').val() );
formData.append("autore", $('#id_class_autore').val() );
formData.append("id_stati_conservazione" ,JSON.stringify( $('#id_id_stati_conservazione').val() ) );
formData.append("prezzo" , $('#id_class_prezzo').val());
formData.append("note", $('#id_class_note').val() );
});
this.on("success", function(file, response) {
console.log('great success'+response);
if(response.success == 0){ // Error
var message =response.error;
$('#alertModal').find('.modal-body h3').html(message);
$('#alertModal').modal('show');
var myDropzone = Dropzone.forElement(".dropzone");
myDropzone.removeFile(file);
}
if(response.success == 2){
//alert(response.message);
//senza errori mostro il modal
$("#successModal").modal("toggle");
}
});
this.on("addedfile", function(file){
if(this.files.length>3){
this.removeFile(file);
}else{
console.log('file added');
}
});
}
});
};
In fase di edit , dovrei controllare che i file siano diversi da quelli già salvati nel db , nel caso siano cambiati posso utilizzare sempre l'onsending altrimenti andrebbero mandati via ajax al click , come posso controllare che i file siano quelli già salvati ?