Tenía este script funcionando, y ahora está fallando.
var canvas = document.getElementById('CropCanvas'); var CroppedIMG = canvas.toDataURL('image/jpeg', 1.0); var formData = new FormData(); var xhr = new XMLHttpRequest(); formData.append('AJAX_Request', 'ImgUpload'); formData.append('UploadImages', true); formData.append('ConvertStream', 'image/jpeg'); formData.append('IMGLocation', 'Video'); formData.append('ID', ID); formData.append('ImagesDir', Folder); formData.append('ImagesSubDir', SubFolder); const Image = new File([CroppedIMG], ImageName); formData.append('Images[]', Image, ImageName); xhr.open("POST", "AJAX.portal.php", false); xhr.onreadystatechange = function() { if (xhr.status == 200) { } } xhr.send(formData);En la consola de Firefox, muestra una carga útil vacía.
Si comento la línea que agrega la imagen a formData, enviará la carga útil al servidor, no puedo entender por qué no funciona, como funcionaba antes.
También he intentado usar los siguientes encabezados (no al mismo tiempo):
xhr.setRequestHeader("Content-Type", "application/upload"); xhr.setRequestHeader("Content-Type", "multipart-form/data"); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");Ninguno de los cuales funcionó.
Encontré el problema, la imagen con la que estaba probando era más grande que 2 MB, tan pronto como rectifiqué esto, el script comenzó a funcionar nuevamente.