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

标签 html html-input

我很困惑没有在网上找到这个问题的答案。

问题:

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

问题:

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

注意:我尽量不为此目的涉及 js/jquery。

问候

最佳答案

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

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

正如您提到的,您将不得不在此处放置大量文件。不幸的是,目前还没有可以添加的 reject 属性。

注意:为了支持浏览器,您将需要使用 JavaScript 或其他编程语言来检查文件的输入。否则,从我上面显示的内容来看,您只需使用 HTML 即可完成所有操作。

我建议您只需要认真对待并使用 JavaScript 进行检查,那样会更容易。

关于HTML 文件上传接受和拒绝文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26791245/

相关文章:

html - JQuery 模态对话框 : Overlay is not visible

php - 没有地理编码的我的位置

HTML 文本输入不显示 iPad 键盘

html - 如何使不同类型的输入元素具有相同的宽度?

javascript - 接受/触发带有 HTML/JS 的图像键盘 (GIF)

jquery - 在 jQuery 中获取输入元素的值

jquery - iPad 和视差效果

javascript - 如何让 angular.js 不覆盖其他库的链接功能?

javascript - 使用查询的水平图像滚动

html - 我可以在 Microsoft Edge 中进行 HTML 拖放输入吗?