【问题标题】:Extracting exif data in android (phonegap)在android中提取exif数据(phonegap)
【发布时间】:2015-05-25 21:27:03
【问题描述】:

我想我在下面找到了问题的原因。

如果我运行以下代码:

var fileReader = new FileReader();
        fileReader.onloadend = function (evt) {
            console.log("read success");
            console.log(evt.target.result);
        };

控制台记录“读取成功”,但没有其他记录。看起来文件阅读器正在查看文件,但没有提取二进制数据。

原问题:

我正在开发一个应用程序,该应用程序需要在上传到服务器之前检查照片是否具有 exif 数据(特别是 gps)。我通过 stackoverflow 发现,这个 API 似乎是最好的推荐:

https://github.com/guilhermefarias/cordova-exif

我已向该 API 的开发人员发送了电子邮件,但没有收到回复,我还尝试了其他 2 个 exif api,但我遇到了同样的错误。

我遇到的问题是,当我知道照片有 exif(我已经用 exif 查看器测试过)时,返回的对象总是以“未定义”的形式返回。

即使使用 github 页面上的示例代码,也会返回“未定义”

var options = {
quality: 90,
sourceType: 2,
destinationType: 1,
};

function onSuccess(imageURI) {
CordovaExif.readData(imageURI, function(exifObject) {
    console.log(exifObject);
});
};

function onFail(message) {
console.log('Failed because: ' + message);
};

navigator.camera.getPicture(onSuccess, onFail, options);

我在控制台上没有看到任何权限错误,我已经按照文档添加了文件+相机插件。

我知道在更高版本的 android 中存在“错误”,其中相机应用程序返回相对 URI 而不是物理位置,但我已经解决了使用画廊选择器 API 的问题,文件路径是:

file:///data/data/io.cordova.ExifTest/cache/IMG_20150524_104204901336210.jpg

如果我在 index.html 中放一个上面的 URI,图像就会显示在屏幕上,所以我知道这个 URI 是有效且正确的。

目前,我正在浏览 API 的代码,逐行尝试调试它,但我希望有人已经遇到过这个问题?

【问题讨论】:

    标签: javascript android cordova


    【解决方案1】:

    我终于在这里找到了答案: Phonegap / Cordova camera plugin - how to get photo's date/time stamp?

    我已经尝试过这种方法,但我仍然只是得到“未定义”。我想我会尝试一个不同的标签(GPSLatitude)并且它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-18
      • 2011-02-01
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      相关资源
      最近更新 更多