使用Apache Cordova从相机胶卷中获取照片中的EXIF数据

时间:2013-03-01 02:15:09

标签: cordova ibm-mobilefirst

环境:

  • Worklight v5.0.5
  • iOS6的

有没有办法从使用Cordova(worklight bundle)Camera API检索的照片中获取EXIF数据?

似乎Cordova在获取EXIF方面存在问题 https://issues.apache.org/jira/browse/CB-1285

2 个答案:

答案 0 :(得分:0)

由于Worklight中的摄像头访问由Cordova处理,这是一个Cordova错误......这个问题实际上与Worklight无关。一旦Cordova提供了解决方法,您就可以自由地实现它。

请注意,Worklight目前捆绑了Cordova 2.2(以及即将发布的5.0.6版本中的2.3)。针对此错误的修复程序将针对Cordova 2.5或更高版本...

答案 1 :(得分:0)

如果您可以将图像作为DOM对象获取,Jacob Seidelin已经发布了一个纯Javascript EXIF阅读器:

http://blog.nihilogic.dk/2008/05/reading-exif-data-with-javascript.html

这可以配合Cordova Camera API,它可以让您检索图像数据:

http://docs.phonegap.com/en/2.2.0/cordova_camera_camera.md.html#camera.getPicture

因此,将这两个例子从这些页面合并在一起,你可能会得到以下内容:

navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
    destinationType: Camera.DestinationType.DATA_URL
 }); 

function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
    alert("Camera make: " + EXIF.getTag(image , "Make"));
}

function onFail(message) {
    alert('Failed because: ' + message);
}

这会为你做点什么吗?