我正在使用exif-js库从上传到我的web应用程序的图像中提取方向。我需要的exif方向旋转错误旋转的android图像。
问题是,从android设备上传的图片总是返回0作为它们的方向。
我尝试过将从同一个android设备上拍摄的图像传输到桌面上,并从那里上传,在这种情况下一切正常,我得到了方向6。
localforage.getItem('photo').then(function(value) {
alert('inside forage');
image = value;
alert(image); // i get the image object
url = window.URL.createObjectURL(image);
alert(url); // url is correct
let preview = document.getElementById('camera-feed');
preview.src = url;
// const tags = ExifReader.load(image);
console.log( tags );
EXIF.getData(image, function() {
myData = this;
if (myData.exifdata.Orientation) {
orientation = parseInt(EXIF.getTag(this, "Orientation"));
alert(orientation); // on desktop 6, on android always 0
}
});
....我在android上使用的是chrome浏览器。
发布于 2019-11-23 00:40:02
在我的项目中进行了大量更改之后,我使用this库来处理前端的图像旋转
发布于 2020-03-12 21:18:55
我知道你已经解决了这个问题,但如果你需要的不仅仅是入门知识,我还是推荐你使用exifr库。或者性能对你来说很重要。Exifr速度很快,可以处理数百张照片,而不会导致浏览器崩溃或花费很长时间:)。此外,还有整洁简单的API,你可以给它提供几乎所有的东西--元素,URL,Buffer,ArrayBuffer,甚至base64,url或字符串等等。
exifr.orientation(file).then(val => {
console.log('orientation:', val)
})https://stackoverflow.com/questions/58746919
复制相似问题