Я думаю, что я нашел причину проблемы ниже.Извлечение данных exif в android (phonegap)
если я запускаю следующий код:
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, но я m получать те же ошибки.
Проблема, которую я получаю, заключается в том, что возвращаемый объект всегда возвращается как «неопределенный», когда я знаю, что фотография имеет 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, а не физическое местоположение, но я решил, что с помощью Gallary сборщика API, тем путь_к_файлу является:
файл: ///data/data/io.cordova.ExifTest/cache/IMG_20150524_104204901336210.jpg
, если я ставлю в index.html с указанным выше URI, изображение отображается на экране, так что я знаю, что это URI действителен и правилен.
На данный момент я просматриваю код API, строя его, чтобы отладить его, но я надеюсь, что кто-то там уже имел эту проблему?