限制浏览窗口中显示的文件类型

时间:2010-10-08 11:10:59

标签: javascript html css

是否真的没有办法限制浏览文件窗口中显示的文件类型?我试过这个:

<input type="file" accept="text/xml" name="parameter_file" />

Firefox,IE只是忽略它。我从另一个问题中找到了以下摘录:

  

接受属性是在。中引入的   RFC 1867,打算启用   基于MIME类型的文件类型过滤   用于文件选择控件。但最,   如果不是全部,浏览器不使用   这个属性。

我还能做到这一点吗?我知道你可以通过Flash实现这个目标,但我真的不想使用Flash。

我将在服务器端检查选定的文件类型,但我希望通过简化只显示XML文件来改善用户体验。

感谢大家的帮助。

2 个答案:

答案 0 :(得分:3)

AFAIK,没有办法做到这一点。接下来最好的事情是在提交表单之前使用JS来检查文件扩展名,这样用户就不会浪费时间上传不被接受的文件,而是服务器端文件类型检查例程也应该保留,因为关闭JS可以很容易地绕过第一种方法。

这是一个jQuery解决方案:How to have jQuery restrict file types on upload?

希望这有帮助。

答案 1 :(得分:0)

对于使用<input type=file>打开的文件对话框,(程序员)不可能有任何影响 这是一个安全功能,没有什么可以做的。

如果您绝对需要这个(以及其他功能,例如允许多个选择),那么您必须使用文件打开对话框的flash(或Java applet等)实现。

网上有可用的实现,而IIRC,YUI中有一个实现。