这很奇怪。我尝试使用 HTML5 FileReader.readAsDataURL() 函数和内联图像来获取图像以在 div 中预览它。这适用于大多数浏览器,包括。iPhone的Safari。但是,如果我在三星 Nexus 上使用标准的 Android 浏览器并选择存储在手机上的照片,我总是得到 10810 像素的宽度和 4286 像素的高度,无论源图像的大小如何,当我使用图片时直接通过拍摄新照片就可以了。我得到正确的尺寸。:@ 我使用 jQUery 和本机 javascript 尝试了 naturalWitdh、宽度。所有结果都相同
$('#file-input').change(function () {
if (window.File && window.FileReader && window.FileList && window.Blob) {
var files = this.files ? this.files : this.currentTarget.files;
if (files && files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#picture')
.attr('src', e.target.result).attr('style', '')
.load(function () {
console.log('w:' + $(this).width());
});
};
reader.readAsDataURL(files[0]);
}
} else {
alert('an error message');
}
});