【问题标题】:exif-js orientation always returns 0 on android but works on desktopexif-js 方向在 android 上总是返回 0 但在桌面上工作
【发布时间】:2020-03-03 22:14:55
【问题描述】:

我正在使用 exif-js 库从上传到我的网络应用程序的图像中提取方向。 我需要 exif 方向来旋转错误旋转的 android 图像。

问题是从 android 设备上传的图像总是返回 0 作为它们的方向。

我尝试将同一安卓设备拍摄的图像传输到桌面,然后从那里上传,在这种情况下一切正常,我得到了方向 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
                 }
            });
            ....

我在安卓上使用 chrome 浏览器。

【问题讨论】:

    标签: javascript android exif


    【解决方案1】:

    在我的项目进行了很多更改后,我使用了 this 前端处理图片旋转的库

    【讨论】:

      【解决方案2】:

      我知道您已经解决了这个问题,但如果您需要的不仅仅是定位,我仍然愿意推荐 exifr 库。或者,如果性能对您很重要。 Exifr 速度很快,可以处理数百张照片而不会导致浏览器崩溃或花费很长时间:)。此外,还有简洁的 API,您可以为它提供几乎任何东西 - 元素、URL、缓冲区、ArrayBuffer,甚至是 base64 url​​ 或字符串等等。

      exifr.orientation(file).then(val => {
        console.log('orientation:', val)
      })
      

      【讨论】:

        猜你喜欢
        • 2023-02-16
        • 1970-01-01
        • 1970-01-01
        • 2018-08-27
        • 2011-06-16
        • 2011-09-29
        • 1970-01-01
        • 2015-06-06
        • 1970-01-01
        相关资源
        最近更新 更多