File upload 如何确定文件上载在ColdFusion 8中是否是有效的CSV文件(或至少是文本)?

File upload 如何确定文件上载在ColdFusion 8中是否是有效的CSV文件(或至少是文本)?,file-upload,csv,coldfusion,coldfusion-8,File Upload,Csv,Coldfusion,Coldfusion 8,我有一个表单,允许用户将文件上传到服务器。如何验证上传的文件实际上是ColdFusion 8中的预期格式(CSV,或至少验证它是文本文件)?对于CSV等简单格式,只需检查您自己,例如通过regex <cffile action="read" file="#uploadedFile#" variable="contents" charset="UTF-8"> <cfset LooksLikeCSV = REFind("^([^;]*;)+[^;]*$", contents)

我有一个表单,允许用户将文件上传到服务器。如何验证上传的文件实际上是ColdFusion 8中的预期格式(CSV,或至少验证它是文本文件)?

对于CSV等简单格式,只需检查您自己,例如通过regex

 <cffile action="read" file="#uploadedFile#" variable="contents" charset="UTF-8">

 <cfset LooksLikeCSV = REFind("^([^;]*;)+[^;]*$", contents)>

您可以对文件大小限制或禁止字符进行额外检查

对于其他文件格式,可以检查文件的前几个字节中是否出现这种情况


您甚至可以为预期的文件格式编写完整的解析器—对于CSV验证,您可以在CR/LF处执行
ListToArray()
,并根据正则表达式分别检查每一行。XML的工作也应该非常简单——只要试着将它传递给
XmlParse()
。像图像这样的二进制格式有点困难,但是那里也有库。

我不知道它是否能帮助你,但是Ben Nadel写了关于CSV的excellents帖子:


我认为这就像在cffile中指定accept值一样简单……不幸的是,CF8文档没有将该值指定为cffile信息的一部分。。。正在进行文件管理

<cffile action=”upload” filefield=”filename” destination=”#destination#” accept=”text/csv”>


您需要使用Java,而且似乎没有一个明确的方法。看看这个问题:是的,我读过那些文章——本的超级粉丝。但这不是我想要的。谢谢