如何在IE中使用javascript上传文件?

时间:2012-08-16 15:45:31

标签: javascript jquery file-upload

我正在尝试用javascript制作一个上传器。我基本上有我的输入文件:

<input id="attachments" type="file" style="display:none; float:left; margin-right:5px;" multiple="" name="file[]">

隐藏所以当我点击一个按钮时,我会触发我的输入:

$(thisELement).find("#attachments").trigger("click");

最后我抓住了我的输入,如下:

$(thisELement).find("#attachments").change(function(e){
     console.log(this.file);

对于firefox和chrome,它工作正常,但是当我在IE 9中测试时,我进入控制台“this.file”是未定义的 有谁知道为什么IE不接受“this.file”,哪个指令是等价的?

提前致谢。

1 个答案:

答案 0 :(得分:1)

在文件上传方面,IE在安全方面非常紧张。它不允许您使用JS来触发文件上传,因为这可能不涉及用户交互,并允许页面窃取&#34;没有用户知道的文件。我已经对此进行了广泛的研究,答案几乎就是你无法做到,你必须使用原生文件上传控件。

您可以尝试使用jquery插件uploadify。它使用Flash来绕过这个安全限制,但是你却不再使用他们的UI而不是浏览器了。然而,他们的UI确实允许您进行一些自定义。