如何限制 <input type="file"> 使其只能选择 .pdf 文件?
Posted
技术标签:
【中文标题】如何限制 <input type="file"> 使其只能选择 .pdf 文件?【英文标题】:How to restrict <input type="file"> so that it can only select .pdf files? 【发布时间】:2011-06-05 18:30:19 【问题描述】:默认可以选择所有类型的文件,如何限制只能选择.pdf
文件?
【问题讨论】:
html file input field with limited file types? 的可能重复项 客户端这是不可能的 AFAIK。您需要检查@服务器端用户决定发布的确切内容。 查看File input 'accept' attribute - is it useful? 了解解决方法。 【参考方案1】:简单地说:你不能使用普通的 html 和 javascript。最接近的方法是在提交表单之前使用 javascript 测试文件扩展名,如果不是.pdf
,则向用户显示一些错误消息。如果您想实现这一点,您可能需要使用一些客户端解决方案,例如 Flash 上传控件。
【讨论】:
您不能使用 JavaScript 根据扩展名删除文件吗? @Šime Vidas,是的,确实可以使用 javascript 来测试所选文件的扩展名。【参考方案2】:您可以使用表单上的accept 属性向浏览器建议限制某些类型。但是,您需要在服务器端代码中重新验证以确保。永远不要相信客户发给你的东西。
【讨论】:
【参考方案3】:更明确...
<input type="file" accept="application/pdf" />
【讨论】:
为什么当 PC 没有安装 Adobe Reader 时这不起作用?今天发生在我身上...以上是关于如何限制 <input type="file"> 使其只能选择 .pdf 文件?的主要内容,如果未能解决你的问题,请参考以下文章
<input type="file"> 按扩展名限制可选文件 [重复]
如何允许 <input type="file"> 只接受图像文件?
js正则限制input框输入只能输入大于0的整数或者保留两位数的小数