【发布时间】:2014-11-17 18:52:51
【问题描述】:
可以使用 JQuery 的 Valdation 插件验证要在 HTML 表单中上传的文件的扩展名:
<form enctype="multipart/form-data" id="form-id">
<input type="file" name="file-id" id="file-id" />
</form>
这可以通过 JQuery 的验证插件使用 a 规则进行验证
$("#form-id").validate({
rules: {
file-id: {
extension: ["jpg","png","gif"]
}
});
对于我们的使用,简单的扩展验证是不够的,因为用户倾向于在上传之前重命名他们的文件而不转换它们。例如。我们检索无法转换为例如 PDF 图形由 libgd 制作的 png。
有没有办法检查图形文件的真实内容并防止上传不可处理的格式?
【问题讨论】:
-
@stefan 大多数文件格式在文件开头都有某种 ID/Header,因此首先加载例如 128 字节(或更多取决于所有支持的文件格式所需的最大偏移量)并检查每个如果找到 ID,则支持文件类型,如果没有,则一切正常,然后将其作为错误文件丢弃....(您需要的每种文件类型的谷歌文件格式,您会找到所需的一切...)
标签: javascript php jquery html upload