read react onprogress example jquery dom filereader

jquery - react - Obtener ancho y alto de una imagen con lector de archivos



filereader typescript (3)

Estoy construyendo un tamaño de imagen / recorte, y me gustaría mostrar una vista previa en vivo después de que lo hayan editado en un modal (arranque). Esto debería funcionar, creo, pero acabo de obtener 0 en console.log. Esto requiere alimentar el ancho y la altura de la imagen original en otro script (lo que haré después, solo los necesito en console.log / a variable por ahora)

function doProfilePictureChangeEdit(e) { var files = document.getElementById(''fileupload'').files[0]; var reader = new FileReader(); reader.onload = (function(theFile) { document.getElementById(''imgresizepreview'').src = theFile.target.result; document.getElementById(''profilepicturepreview'').src = theFile.target.result; } ); reader.readAsDataURL(files); var imagepreview = document.getElementById(''imgresizepreview''); console.log(imagepreview.offsetWidth); $(''img#imgresizepreview'').imgAreaSelect({ handles: true, enable: true, aspectRatio: "1:1", onSelectEnd: preview }); $(''#resizeprofilepicturemodal'').modal(''show''); };


Para mí, la solución de Austin no funcionó, así que presento la que funcionó para mí:

var reader = new FileReader; reader.onload = function() { var image = new Image(); image.src = reader.result; image.onload = function() { alert(image.width); }; }; reader.readAsDataURL(this.files[0]);

Y si encuentra esa asignación image.src = reader.result; se lleva a cabo después de la imagen. carga un poco por cable, creo que también.


Tienes que esperar a que se cargue la imagen. Intenta manejar el elemento dentro de .onload .

También simplifiqué el proceso de establecer el origen de los dos elementos sobre cómo debería hacerlo (con jQuery).

reader.onload = (function(theFile) { var image = new Image(); image.src = theFile.target.result; image.onload = function() { // access image size here console.log(this.width); $(''#imgresizepreview, #profilepicturepreview'').attr(''src'', this.src); }; });


esta es la forma que tengo para AngularJS

fileReader.readAsDataUrl($scope.file, $scope).then(function(result) { var image = new Image(); image.src = result; image.onload = function() { console.log(this.width); }; $scope.imageSrc = result; //all I wanted was to find the width and height });