我有一个表单,它允许用户将文件上传到服务器。如何验证上传的文件实际上是 ColdFusion 8 中的预期格式(CSV,或至少验证它是文本文件)?
最佳答案
对于像 CSV 这样的简单格式,只需检查自己,例如通过正则表达式。
<cffile action="read" file="#uploadedFile#" variable="contents" charset="UTF-8">
<cfset LooksLikeCSV = REFind("^([^;]*;)+[^;]*$", contents)>
您可以对文件大小限制或禁用字符进行额外检查。
对于其他文件格式,您可以查看 header signatures发生在文件的前几个字节中。
你甚至可以为你期望的文件格式编写一个完整的解析器——对于 CSV 验证,你可以做一个
ListToArray()
在 CR/LF 并根据正则表达式分别检查每一行。 XML 也应该非常简单地工作 - 只需尝试将其传递给 XmlParse()
.像图像这样的二进制格式有点困难,但那里也存在库。
关于file-upload - 在 ColdFusion 8 中,如何确定文件上传是否是有效的 CSV 文件(或至少是文本)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6206873/