文件上传无法在chrome中使用

时间:2012-07-18 09:44:16

标签: javascript html5 google-chrome javascript-events file-upload

我正在从我的电脑上传图片。它在firefox中工作正常。但在chrome中,选择文件的对话框无法打开!我在javascript中调用输入类型的click事件。

这就是我正在做的事情!

<input type="file" id="fileElem" accept="image/*" style="display:none" >
<div id="fileSelect" class="drop-area">Select some files</div>

这是javascript,

var fileSelect = document.getElementById("fileSelect"),
fileElem = document.getElementById("fileElem");


fileElem.addEventListener("click",function(e){
  var files = this.files
  handleFiles(files)
},false)  


fileSelect.addEventListener("click", function (e) {
    fileElem.click();
  e.preventDefault(); 
}, false);

1 个答案:

答案 0 :(得分:2)

我所知道的浏览器不允许您模拟点击<input type="file">本身而无需用户干预。原因是安全。浏览器要求用户在页面的某处进行明确的手动单击(用户启动的单击)。但是,一旦发生这种情况,劫持点击并将其路由到文件输入就很容易了。这就是你要做的。

请参阅我关于该主题的blob帖子。它有一个应该有效的演示:http://ericbidelman.tumblr.com/post/14636214755/making-file-inputs-a-pleasure-to-look-at