dtsvn-thudk opened a new issue, #884:
URL: https://github.com/apache/cordova-plugin-camera/issues/884

   # Bug Report
   
   ## Problem
   Cordova plugin camera get picture. metadata not found in cordova ios
   
   ### What is expected to happen?
   Get metadata data when taking photos on iOS
   
   ### What does actually happen?
   
   When I upload a photo using Android, the photo has metadata information, but 
when I upload a photo using iOS, there is no metadata information.
   I used the exifjs library (https://cdn.jsdelivr.net/npm/exif-js) to test and 
the results are as follows:
   android:
   
![image](https://github.com/apache/cordova-plugin-camera/assets/156770772/8c57d423-161f-4dfe-b043-b0221c649f73)
   
   ios:
   
![image](https://github.com/apache/cordova-plugin-camera/assets/156770772/d2758c7e-a238-40b0-836c-19cb3db43aaa)
   
   
   ## Information
   I see @erisu  has committed on this issue!
   I see that cordova plugin camere version 7.0.0 mentions preserving metadata 
on ios.
   
![image](https://github.com/apache/cordova-plugin-camera/assets/156770772/20783e5f-41e4-4ff6-8c1b-bf3a14c1b0d7)
   
   
   
   ### Command or Code
   
       `
       
       base64ToArrayBuffer: function(base64) {
                 base64 = base64.replace(/^data\:([^\;]+)\;base64,/gmi, "");
                 var binary = atob(base64);
                 var len = binary.length;
                 var buffer = new ArrayBuffer(len);
                 var view = new Uint8Array(buffer);
                 for (var i = 0; i < len; i++) {
                     view[i] = binary.charCodeAt(i);
                 }
                 return buffer;
             },
         snapPicture: function(callBack) {
                 navigator.camera.getPicture(successCamera, failCamera, { 
                     destinationType: Camera.DestinationType.DATA_URL,
                     correctOrientation: true
                 });
   
           function successCamera(base64) {
               let arrayBuffer = base64ToArrayBuffer(base64Image);
               let dataExif = EXIF.readFromBinaryFile(arrayBuffer);
               if (dataExif && dataExif.DateTime) {
                 alert("Exif Date: " + dataExif.DateTime);
               } else {
                 alert("Exif Date not found!");
               }
           }
           function failCamera(message) {
               app.preloader.hide();
           }
       }, 
      
     `
   
   
   
   ### Environment, Platform, Device
   Platform : ios: 17.4.1, ios: 16.2
   Device:  iphone 12, ipad gen 10
   
   
   
   ### Version information
   - cordova-ios: 7.0.1
   - cordova-android: 12.0.1
   - cordova-plugin-camera :7.0.0
   - exifjs: 2.3.0 (https://github.com/exif-js/exif-js)
   ## Checklist
   <!-- Please check the boxes by putting an x in the [ ] like so: [x] -->
   
   - [x ] I searched for existing GitHub issues
   - [x ] I updated all Cordova tooling to most recent version
   - [x ] I included all the necessary information above
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to