javascript - Chrome 中的文件上传

标签 javascript html google-chrome file-upload dom-events

我正在从我的电脑上传图像。它在 Firefox 中工作正常,但在 Chrome 中,选择文件的对话框未打开!我正在 Javascript 中调用输入类型的点击事件。

这就是我正在做的事情:

<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);

最佳答案

据我所知,没有任何浏览器可以让您模拟点击 <input type="file">本身无需用户干预。原因是安全。浏览器要求用户在页面上的某个位置进行明确的手动单击(用户启动的单击)。然而,一旦发生这种情况,就可以很容易地劫持点击并将其路由到文件输入。这就是你正在尝试做的事情。

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

关于javascript - Chrome 中的文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11538563/

相关文章:

python - 根据命名约定,使用 Python 在 Windows 中删除文件

javascript:执行 http post 并在另一个页面/选项卡上查看其响应的好方法是什么?

css - Chrome 中的 Flexbox 容器没有达到 100% 的高度

javascript - AngularJS无法读取未定义的属性 'forEach'

javascript - 根据输入值调用特定的 div

javascript - React Native 布局动画不是动画?还是做错了?

Javascript - 迭代期间使用值而不是引用

javascript - 如何在用户单击菜单按钮时弹出菜单?

javascript - 如何在文本和表格之间切换?

javascript - Esri JS api 3.11 停止与 Chrome 移动版配合使用