我正在构建一个内部Web应用程序,允许用户通过文件输入元素上传文件,如下所示:
<input class="WebFormControls" type="file" accept=".csv" id="fileBulkCsv" name="fileBulkCsv" onchange="javascript:OnFileUploadChange();" />
问题
我的问题是客户端的SOE使用IE8(嘘嘘,我知道)。不幸的是,这个版本的IE不支持输入元素的 accept 属性与type =“file”一起使用(在Chrome中运行正常)。
问题
我的问题是:有没有其他方法可以重现这种行为?我的目标是让浏览器打开一个文件对话框,预设为仅过滤CSV文件。
我尝试过使用文件扩展名模式(“.csv”)和MIME类型(“text / csv”)参数,但它不起作用,我怀疑IE8根本不处理accept属性。
超出范围
请注意,我对使用JavaScript验证文件名及其扩展名的概念非常满意。但是,一旦用户选择了要上载的文件,就会发生这种情况。我正在寻找一种方法(如果可能的话)在Microsoft的浏览器上复制接受行为。
谢谢!
答案 0 :(得分:8)
实现这一目标的唯一方法是在flash或java(applet)中使用外部上传器
您可以使用例如swfupload:https://code.google.com/p/swfupload/
不幸的是,检查文件类型是在html5 api中,IE8不支持