我正在构建图像调整大小/作物,并且我想在模型(引导程序)中编辑它之后显示实时预览。这个应该工作,我相信,但我只是在console.log中得到0。这就需要喂养的宽度和原始图像的高度到另一个脚本(我将在以后做什么,只需要他们的console.log /现在一个变量)使用filereader获取图像的宽度和高度
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');
};
大的方式,非常感谢。我误以为这些文件会加载readAsDataURL调用。 – 2013-03-19 04:34:02
当文件系统完成从硬盘读取文件时调用'reader.onload'。本质上,图像对象已经在浏览器中缓冲了图像数据时调用'image.onload'。我看你怎么会误解onload函数;很高兴有帮助。 – 2013-03-19 05:45:44
注意:这仅适用于使用“reader.readAsDataURL”的情况。用“reader.readAsBinaryString”你必须采取不同的方式。 – 2014-01-30 14:25:05