有没有什么办法能让html元素文件
<input name="file1" type="file" style="width:300px">
只接受PDF文件,当我们浏览其只显示PDF文件...
谢谢
有没有什么办法能让html元素文件
<input name="file1" type="file" style="width:300px">
只接受PDF文件,当我们浏览其只显示PDF文件...
谢谢
要获取HTML file
输入表单元素只接受PDF文件,可以使用accept
在现代浏览器如Firefox 9+,铬16 +,11 +歌剧和IE10 +像这样的属性:
<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">
在旧的浏览器的原生操作系统文件对话框不能限制 - 你必须使用Flash或Java小程序或类似的东西来处理文件传输。
当然,不用说, 这并不做任何事情来验证该文件类型的有效性 。 你会做,在服务器端,一旦文件上传。
一个小更新 -使用JavaScript和的FileReader API ,你可以上传大文件到您的服务器,并再次检查他们之前做更多的验证客户端。
并不是的。 见文件输入“接受”属性-是它有用吗? 。
没有办法做到这一点以外的验证与JavaScript文件扩展名,当输入路径由文件选择填充。 要爱好者,你需要编写任何你想要的浏览器自己的组件中实现任何(ActiveX或XUL)
这里有一个“接受”,在HTML4.01属性,但我不知道任何浏览器支持它-比如accept="image/gif,image/jpeg
-所以这是一个整洁,但不切实际的规范
以前的海报做了一个小错误。 所述接受属性仅显示过滤器。 它不会验证提交前输入。
此属性强制文件对话框只显示所需要的MIME类型。 但是,用户可以覆盖过滤器。 他可以选择。 看看在当前目录中的所有文件。 通过这样做,他可以选择与任何扩展名的文件,并提交表单。
因此,要回答原来的海报,NO。 你不能使用HTML限制输入文件到一个特定的扩展。
但是你可以使用JavaScript来测试已被选定的文件名,只是在提交前。 只要您提交按钮插入onclick属性和调用,这将考验输入文件值的代码。 如果扩展是禁止的,你必须返回false无效形式。 你甚至可以使用一个jQuery自定义验证等,以验证表单。
最后,你必须测试服务器端的延伸了。 关于允许的最大文件大小相同的问题。
不与HTML文件控制,没有。 Flash文件上传虽然能为你做的。 你可以使用一些客户端代码来检查PDF扩展他们选择后,但你不能直接控制他们可以选择。
没有。
但你可以检查出的SWFUpload和阿贾克斯上传
它可以防止分心用户进行非自愿坏的选择是有用的,但在任何情况下,你必须做在服务器端检查反正。
最好的办法是要在上传页面清晰。 在此之后,如果用户上传愣神了错误类型的一个大的文件,这是他们的时间损失,不是吗?