¿Cuál es la forma correcta de cargar un archivo mediante programación usando Dropzone? He estado usando el siguiente código para hacerlo, pero no ha funcionado. Mi código real abre un modal y le permite al usuario tomar una imagen y agregar la imagen a Dropzone en la página principal.
Problemas que estoy teniendo:
Mis archivos siguen duplicándose cuando uso el formulario modal para agregar el archivo a la zona de colocación en la página principal. (Creo que mis controladores de eventos se duplican cada vez que abro el modal, pero mis correcciones breves no han funcionado)
El archivo agregado mediante programación no se carga en el servidor. Request.Files no contiene el archivo cargado. (Todos los archivos cargados manualmente están en Request.Files)
var myDropzone = null; Dropzone.options.uploadForm = { paramName: "file", // The name that will be used to transfer the file maxFilesize: 10, // MB uploadMultiple: true, maxFiles: 4, clickable: true, autoProcessQueue: false, parallelUploads: 10, addRemoveLinks: true, acceptedFiles: "image/*", accept: function (file, done) { done(); }, init: function () { myDropzone = this; $(document).off('click').on("click", "#uploadCapturePhotoToDropZone", function(e) { e.preventDefault(); var number = 1 + Math.floor(Math.random() * 6); var fileBase64 = $("#capturePhotoID").val(); var mockFile = { name: "capturePhoto.png", size: 12345, type: 'image/png', status: Dropzone.ADDED, url: fileBase64, serverID: number, accepted: true }; myDropzone.emit("addedfile", mockFile); myDropzone.createThumbnailFromUrl(mockFile, fileBase64); myDropzone.files.push(mockFile); $(".dz-progress").show(); $("#LoaderIconGov").show(); myDropzone.processQueue(); });Mi formulario modal tiene el siguiente código parcial para enviar la imagen base64 al formulario principal y llamar a la acción para cargar la imagen
$(document).on("click", "#addImageToMainPage", function (e) { e.preventDefault(); $("#capturePhotoID").val(imageData); $("#uploadCapturePhotoToDropZone").click(); $('#myModal0').modal('toggle'); });