2013-10-12 129 views
1

我在PhoneGap的工作不斷變化的圖片上傳文件後,寫了下面的代碼來顯示圖像上傳文件的預覽:圖片沒有顯示在Android手機上預覽上的PhoneGap

function readURL(input) { 
    if (input.files && input.files[0]) { 
     var reader = new FileReader(); 

     reader.onload = function (e) { 
      var img ='<div style="padding:10px; margin:10px; border: solid 2px #666;float: left; width:30%"><img src="'+ e.target.result+'" width="100%" /></div>'; 
      $('#images_area').append(img); 
     } 

     reader.readAsDataURL(input.files[0]); 
    } 
} 


    $("#image_upload_field").change(function(){ 
    readURL(this); 
}); 

這是工作在瀏覽器,但不顯示android手機上的圖像phonegap。所以我在尋找原因,爲什麼會發生,它在手機上顯示問號。

而且這樣做:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git 
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git 

這2行是從的PhoneGap的userguide。在執行上面兩行之後,android config和manifest文件中的更改也完成了。

那麼它不工作的原因是什麼?請讓我知道,如果有任何想法。

+0

你能提供的圖像的URL。不是一個例子,但一個圖像,實際上不適用於你的應用程序... – TorchMan

回答

1

試試這個:

$(document).ready(function() { 
      function readURL(input) { 
       if (input.files && input.files[0]) { 
        var reader = new FileReader(); 
        reader.onload = function (e) { 
         var image; 
         var fileName = input.files[0].name; 
         var type = 'image/' + fileName.split('.').pop(); 
         if (type == 'image/jpg') { 
          type = 'image/jpeg'; 
          image = ((e.target.result).replace('data:base64,/', 'data:' + type + ';base64,/')); 
         } else { 
          image = ((e.target.result).replace('data:base64,', 'data:' + type + ';base64,')); 
         } 
         var img = '<div style="padding:10px; margin:10px; border: solid 2px #666;float: left; width:30%"><img src="' + image + '" width="100%" /></div>'; 
         $('#images_area').append(img); 
        } 
        reader.readAsDataURL(input.files[0]); 
       } 
      } 

      $("#image_upload_field").change(function() { 
       readURL(this); 
       }); 
}) 
相關問題