如何获取HTML';s的输入元素为";文件";键入仅接受pdf文件?

如何获取HTML';s的输入元素为";文件";键入仅接受pdf文件?,html,validation,file,input,Html,Validation,File,Input,有什么方法可以让html元素文件 <input name="file1" type="file" style="width:300px"> 只接受PDF文件,当我们浏览它时只显示PDF文件 谢谢不太感谢。请参阅。不使用HTML文件控件。不过,flash文件上载程序可以为您完成这项工作。在他们选择后,您可以使用一些客户端代码来检查PDF扩展,但您不能直接控制他们可以选择什么。否 但是,当输入路径由文件选择器填充时,您可以签出,并且除了使用JavaScript验证文件扩展名之外,没

有什么方法可以让html元素文件

<input name="file1" type="file" style="width:300px">

只接受PDF文件,当我们浏览它时只显示PDF文件


谢谢

不太感谢。请参阅。

不使用HTML文件控件。不过,flash文件上载程序可以为您完成这项工作。在他们选择后,您可以使用一些客户端代码来检查PDF扩展,但您不能直接控制他们可以选择什么。


但是,当输入路径由文件选择器填充时,您可以签出,并且除了使用JavaScript验证文件扩展名之外,没有其他方法可以这样做。要实现任何fancier,您需要为您想要的浏览器(activeX或XUL)编写自己的组件


HTML4.01中有一个“accept”属性,但我不知道有任何浏览器支持它,例如,
accept=“image/gif,image/jpeg
,因此它是一个简洁但不实用的规范,可以防止分心的用户做出非自愿的错误选择,但无论如何,您都必须在服务器端进行检查。

最好的方法是在上传页面中保持清晰。之后,如果用户愚蠢地上传了一个错误类型的大文件,那就是他们的时间损失,不?

要让HTML
文件
输入表单元素只接受PDF,你可以在Firefox 9+、Chrome 16+、Opera 11+和IE10+l等现代浏览器中使用
accept
属性例如:

<input name="file1" type="file" accept="application/pdf">

可以用逗号将多个mime类型串在一起

以下字符串将接受JPG、PNG、GIF、PDF和EPS文件:

<input name="foo" type="file" accept="image/jpeg,image/gif,image/png,application/pdf,image/x-eps">

在较旧的浏览器中,本机OS文件对话框无法限制–您必须使用Flash或Java小程序或类似的工具来处理文件传输

当然,这并不能验证文件类型的有效性。上传文件后,您将在服务器端执行此操作


一点更新–使用javascript和,在将大型文件上传到服务器并再次检查之前,您可以在客户端执行更多验证。

以前的海报犯了一个小错误。接受属性只是一个显示过滤器。它在提交之前不会验证您的条目

此属性强制文件对话框仅显示所需的mime类型。 但是用户可以覆盖该过滤器。他可以选择。并查看当前目录中的所有文件。通过这样做,他可以选择任何扩展名的文件,并提交表单

因此,要回答原始海报的问题,答案是否定的。您不能使用HTML将输入文件限制为一个特定的扩展名

但您可以在提交之前使用javascript测试已选择的文件名。只需在提交按钮上插入onclick属性并调用将测试输入文件值的代码。如果扩展名被禁止,则必须返回false以使表单无效。您甚至可以使用jQuery自定义验证程序等来验证表单给表格盖上盖子

最后,您还必须在服务器端测试扩展。
关于允许的最大文件大小也有同样的问题。

+1。另外,Chrome现在支持这个功能。我听说Opera支持它很长时间了,但我没有检查它。+0。如果你说“是,但不是真的”,我会同意。尤其是现在Chrome支持它,我认为Opera也可能支持它。