如何在javascript中打开文件上传对话框

时间:2013-12-04 05:19:55

标签: javascript jquery html

我的webform项目有问题,这是一个描述它的示例代码:

<input type="file" id="btnfile" style="display: none"/>
<span onclick="uploadFile()">UploadFile</span>
<script>
    $(function() {
        uploadFile(); //file dialog not open
        $("#btnfile").click(); //file dialog not open
    });

    function uploadFile() {
        $("#btnfile").click(); //file dialog will open by clicking the span
    }
</script>

我希望我的页面在准备好后自动打开上传文件对话框,并使用函数“uploadFile()”来“点击”$()中的文件上传输入, 但是除非被事件调用,否则该函数不起作用,例如单击上面的跨度。

  • 为什么uploadFile()无法在$()
  • 中打开文件对话框
  • 有没有办法自动打开上传文件对话框?

感谢。

1 个答案:

答案 0 :(得分:0)

出于安全考虑,此行为不能以编程方式完成。

您可以要求用户安装插件或接受已签名的小程序,以完成默认情况下无法以编程方式完成的工作。

对于Microsoft浏览器,可能使用大多数版本支持的ActiveX组件。

在Firefox中,您可以编写加载项并要求用户安装它。 Firefox附加组件是使用javascript开发的,对于Web开发人员来说,它比NPAPI或XPCOM更容易。

谷歌Chrome将消除NPAPI并正在开发PPAPI。

无论如何,只要用户接受额外的组件,您就可以这样做。

另一种方法是查找特定浏览器的安全漏洞,如果您找到,请告诉我