2011-11-08 53 views
-2

这是我的HTML:getAsDataURL()不工作铬和IE

<input type="file" id="browse" name="browse" size="" placeholder="Photo" checked="checked" class="upload"/> 
<input type="button" onclick="javascript:onbrowse()" class="unknown" value=""/> 

而且我的JavaScript:

$(function() { 
     $(".upload").change(function() { 
      var fileObj = $(this).get(0); 
      var fileName; 
      if (fileObj.files) { 
       fileName = fileObj.files.item(0).getAsDataURL() 
      } else { 
       fileName = fileObj.value; 
      } 
      $(".unknown").css("background-size", "100px 100px"); 
      $(".unknown").css("background-image", "url(" + fileName + ")"); 
     }); 
    }); 

    function onbrowse() { 
     document.getElementById('browse').click(); 
    } 

我有两个问题:

  1. 的onclick不适用于Chrome和

  2. getAsDataURL()在Chrome和IE中不起作用

你能帮我吗?

回答

5

IE行为,尚不支持文件API。无论如何,你需要使用FileReader来读取文件。此外,该文件不是它的文件名(您的变量命名有点模糊)。

对文件输入的单击委派工作得很好。

http://jsfiddle.net/fKQDL/

file = fileObj.files[0]; 
var fr = new FileReader; 
fr.onloadend = changeimg; 
fr.readAsDataURL(file); 
+0

我复制的代码,但它不工作,我不understedn为什么不到风度工作 –

+0

@Aram Mkrtchyan:小提琴正常工作在Chrome我;所以它应该工作。 – pimvdb

+0

它可以是本地运行脚本的问题吗? –

1

绑定按钮的使用jQuery

jQuery('input[type="button"].unknown').click (onbrowse); 
相关问题