HTML文件上传接受和拒绝文件扩展名

时间:2014-11-06 23:17:35

标签: html html-input

我因为没有在网上找到这个问题的答案而感到困惑。

ISSUE:

我正在使用html输入(type='file')来选择要附加到邮件的文件。但我想限制它只允许上传图像和文档。我知道有一个accept属性。但据我所知,我们可以通过传递image/*来限制它接受图像。但我不认为文件有类似的限制。但我可以添加我想要允许的单个扩展名。我还想完全拒绝扩展名为*.exe*.app的文件。

问题:

我的问题是,是否存在类似于我可能遗漏的图像限制器的限制器。或者,如果我添加文件类型的单独扩展,我想允许添加哪些扩展(请记住,用户在Windows,Mac和Linux上使用此服务)。

注意:我试图不为此目的涉及js / jquery。

此致

1 个答案:

答案 0 :(得分:1)

对于现代浏览器,您可以在accept元素上使用input,您必须添加所有可接受的文件,而忽略您拒绝的文件。只使用HTML就可以做到这一点,但如果您使用JavaScript,PHP等,则很容易拒绝。由于HTML不是一种编程语言,您可以做和不能做的事情是相当有限的。

<input type="file" accept="[everything but .exe and .app]">

正如您所提到的,您将不得不在此处放置大量文件。不幸的是,目前您无法添加reject属性。

注意:要获得订单浏览器的支持,您需要使用JavaScript或其他编程语言来检查文件的输入。否则,从上面显示的内容就是你只能用HTML做的。

我建议只需按下并使用JavaScript进行检查,这样会更容易。