0

Ich habe Code mit Cordova-Kamera-Plugin unten, um Datei von mobilen Gerät zu durchsuchen, wenn ich auf dem Gerät laufen, es ist nur einmal funktionieren. Beim nächsten Versuch, wenn ich eine Datei wähle, wird der Dialog nicht ausgeblendet.Fehler auf Cordova Kamera Plugin

Bitte helfen Sie mir, was mit meinem Code falsch ist. HTML:

<div data-page="do-job" class="page navbar-fixed"> 
    <div class="navbar"> 
    <div class="navbar-inner"> 
     <div class="left"><a href="index-content.html" class="link icon-only"><i class="icon icon-back"></i></a></div> 
     <div class="center"><a href="index-content.html" class="link">Kerjakan Tugas</a></div> 
    </div> 
    </div> 
    <div id="camerass"> 
    <div class="page-content"> 
    <form action="#" id="form"> 
    <input type="hidden" name="attachment" id="post_image" value=""> 
    <input type="hidden" name="job_id" id="job_id" value=""> 
    <div class="list-block inputs-list"> 
     <ul> 
     <li class="align-top"> 
      <div class="item-content"> 
      <div class="item-inner"> 
       <div class="item-title label">Desc</div> 
       <div class="item-input"> 
       <textarea class="resizable isi" name="isi" id="isi" rows="4" class='required'></textarea> 
       </div> 
      </div> 
      </div> 
     </li> 
     </ul> 
    <div class="image-list"> 
     <div class="file-chooser">     
     <i class="fagambar2 fa fa-image"></i> 
     <i class="fagambar fa fa-plus"></i> 
     </div> 
    </div> 
    </div> 
     <div class="content-block"><a href="#" class="button button-fill kirim_pekerjaan">Send Job</a></div> 
    </form>  
    </div> 
    </div> 

Javasript:

$(document).on('click','.file-chooser', function (e) 
    { 
    var ini=$(this); 
    ini.attr('disabled',true); 
    var html=''; 
    var opt={ 
     sourceType:0|2, 
     mediaType: Camera.MediaType.ALLMEDIA 
    }; 
    navigator.camera.getPicture(function(imageData){ 
     console.log(imageData); 
     if(isImage(imageData)) 
     { 
     html+='<div class="image-added" data-src="'+imageData+'" ><img src="'+imageData+'" class="image-kirim-thumbnail"/></div>'; 
     }else 
     { 
     html+='<div class="image-added" data-src="'+imageData+'"><i class="fa fa-video-camera"></i> </div>'; 
     } 
     $('.image-list').prepend(html); 
     var win = function (r) { 
      console.log("Code = "); 
      console.log(r); 
      var resp=JSON.parse(r.response); 

      if(resp.STATUS=='SUCCESS') 
      { 
      dataUpload.push(resp.DESCRIPTION); 
      $('#post_image').val(dataUpload.toString()); 
      } 
      ini.removeAttr('disabled'); 
     } 
     var fail = function (error) { 
      console.log('error'); 
      console.log(error); 
     } 
     var options = new FileUploadOptions(); 
     options.fileKey = "file"; 
     options.fileName = 'file_image.jpg'; 
     options.httpMethod="POST"; 
     if(getFileType(imageData)=='image') 
     {   
      options.mimeType = 'image/jpeg'; 
     }else 
     { 
      options.mimeType = 'video/mp4'; 
     } 

     var params = {}; 
     params.value1 = "test"; 
     params.value2 = "param"; 

     options.params = params; 
     var ft = new FileTransfer(); 
     var path_url=APIPath+'upload_file/uploadFile/'+window.localStorage.getItem('token_id'); 
     ft.upload(imageData, encodeURI(path_url), win, fail, options); 
    }, function(msg){ 
     console.log("Error"); 
     console.log(msg); 
    },opt); 

    }); 
+0

ich die Antwort für mein Problem gefunden haben, Das Problem ist, das Element hören mehr als ein Klick-Ereignis. Also füge ich eine Variable namens cameraMode hinzu. Wenn if (kameraMode === true) { kamera.getPicture (function (imagedata) { kameraMode = false; ................... .......... –

Antwort

0

Ich habe die Antwort für mein Problem gefunden,

Das Problem ist, das Element hören mehr als ein Klick-Ereignis. Also füge ich eine Variable namens cameraMode hinzu. Wenn

if(kameraMode===true) 
{ 

    kamera.getPicture(function(imageData){ 
    kameraMode=false; 

.............................

Verwandte Themen