0

First sorry for my poor english

Ih have a web page, when you select a file, it launchs a javascript to extract exif from the selected picture. It works very well.

I tried to view the page in a webview in an android app

I followed this post File Upload in WebView and now I can select the file in my gallery. But it seems the javascript is not called :( could you help me please ?

for information here is a sample of html

 <div class="input-field">
      <div class="row">
             <label class="control-label">Select File</label>
             <input name="image" id="image" type="file" class="file">
             <p>Created Date: <span id="created_date"></span></p>
             <input name="imgname" id="imgname" type="hidden">
             <input name="post_date" id="post_date" type="hidden">
      </div>
</div>

and here is the javascript

$(document).delegate("#image", "change", function(ev){
      file = ev.target.files[0];
      date = file.lastModifiedDate + "";
      var reader = new FileReader();
      reader.onload = function (eve) {
      var exif = EXIF.readFromBinaryFile( base64ToArrayBuffer( eve.target.result ) );

      try{
            if (exif && (exif.DateTimeOriginal || exif.DateTime)){
                  date = exif.DateTimeOriginal || exif.DateTime;
                  var postdate = date;
                  date=date.replace(/:/g,"-");
                  date=date.replace(/ /g,"_");
                  $("#created_date").html(date);
                  $("#imgname").val(date);
                  $("#post_date").val(postdate);
             }
       }catch(e){}
   }
   reader.readAsDataURL(file);
});

In my app I precised

      WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setDomStorageEnabled(true);
        webSettings.setSupportZoom(false);
        webSettings.setAllowFileAccess(true);
        webSettings.setAllowContentAccess(true);

EDIT - in my AndroidManifest.xml i have

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Is there anything else to do ? is it possible ? thank you in advance

0 Answers0