2012-03-12 53 views
-1

在我的一個Web應用程序中,我必須實現圖像上傳。但是我需要在瀏覽器中上傳之前顯示圖像。我發現了以下JavaScript代碼,並且在除Safari,IE之外的所有瀏覽器中都可以工作。上傳前顯示所選圖像

function handleFiles(files) { 

for (var i = 0; i < files.length; i++) { 
    var file = files[i]; 

    var imageType = /image.*/; 

    if (!file.type.match(imageType)) { 


     $('.img_error_con').html("Invalid image file."); 
      $('.img_error_con').fadeIn(200); 
      return false; 


     continue; 
    } 


    var img=document.getElementById('fake_img'); 
    img.src = file; 
    img.onload = function() { 


    }; 


    var reader = new FileReader(); 
    reader.onload = (function(aImg) { 
     return function(e) { 
      aImg.src = e.target.result; 
     }; 
    })(img); 
    reader.readAsDataURL(file); 
} 

} 

請幫我解決Safari中的問題。或任何HTML5方法來完成這項工作?

請幫忙提前 感謝

回答

2

歡迎HTML5處處不支持的功能...

至少在目前窗口

Safari瀏覽器支持犯規的FileReader,所以你的腳本是不會只是工作與JavaScript。我猜IE(哪個版本?)不會。

+0

感謝您的回覆,我正面臨着Safari和IE 8的問題。任何用於此目的的HTML5方法? – ramesh 2012-03-12 06:49:09

+1

不,你需要FileReader來做你想要的HTML5。 – mpm 2012-03-12 06:50:58