Estoy tratando de conectar el complemento ImagesLoader, que permite cargar varias imágenes. Tiene una buena interfaz de usuario de arrastrar y soltar, pero no puedo entender cómo obtener las imágenes que se cargaron. No puedo encontrar ninguna documentación.
Enlace a la página del complemento: ImagesLoader
Aquí está el javascript de la demostración:
<script type="text/javascript"> // Ready $(document).ready(function () { // Create image loader plugin var imagesloader = $('[data-type=imagesloader]').imagesloader({ minSelect: 3 ,imagesToLoad: [{"Url":"./img/Nespresso001.jpg","Name":"Nespresso001"},{"Url":"./img/Nespresso002.jpg","Name":"Nespresso002"}] }); //Form $frm = $('#frm'); // Form submit $frm.submit(function (e) { var $form = $(this); var files = imagesloader.data('format.imagesloader').AttachmentArray; var il = imagesloader.data('format.imagesloader'); if (il.CheckValidity()) alert('Upload ' + files.length + ' files'); e.preventDefault(); e.stopPropagation(); }); });Las imágenes se guardan en el objeto "archivos". Aquí hay una captura de pantalla del contenido del inspector:
Intenté convertir a json y publicar, pero eso solo genera un error.
$.ajax({ url: 'process-images.php', type: 'POST', data: JSON.stringify(files), contentType: 'application/json; charset=utf-8', dataType: 'json', cache: false, error: function() {alert("ERROR");}, success: function() {alert("OK");} });El resto del código funciona igual que la demostración. Parece que todo lo necesario para las imágenes cargadas se almacena en "archivos". Solo necesito devolver los datos a php y puedo separarlos desde allí. Pero en este momento, el código de envío original simplemente muere o mi adición se cancela con un error.
¡GRACIAS!
Espero que no sea demasiado tarde para responder. Solo necesita recorrer el objeto de imagen codificado en base64, decodificar y guardar cada imagen en el disco.
// Sample code foreach(json_decode($request->input('files')) as $file) { $name = $file->FileName $imagePath = storage_path('app/public/images/'); file_put_contents($imagePath.$name, base64_decode($file->Base64)); }