我有一個允許用戶上傳文件到服務器的表單。如何在ColdFusion 8中驗證上載的文件實際上是預期的格式(CSV,或者至少驗證它是文本文件)?如何在ColdFusion 8中確定文件上傳是否爲有效的CSV文件 - 或者至少是文本?
回答
對於像CSV這樣的簡單格式,只需檢查自己,例如通過正則表達式。
<cffile action="read" file="#uploadedFile#" variable="contents" charset="UTF-8">
<cfset LooksLikeCSV = REFind("^([^;]*;)+[^;]*$", contents)>
您可以對文件大小限制或禁止的字符進行額外的檢查。
對於其他文件格式,您可以檢查文件的前幾個字節中出現的header signatures。
您甚至可以爲您的預期文件格式編寫完整的解析器 - 對於CSV驗證,您可以在CR/LF處執行ListToArray()
並針對正則表達式單獨檢查每一行。 XML應該也很簡單 - 只是試着將它傳遞給XmlParse()
。像圖像這樣的二進制格式有點難度,但圖書館也存在。
這實際上看起來像一個好主意。我要試一下。 – 2011-06-02 14:51:37
我不知道它是否能幫助你,但本·納德爾寫到CSV excellents帖子:
http://www.bennadel.com/blog/483-Parsing-CSV-Data-Using-ColdFusion.htm
http://www.bennadel.com/blog/501-Parsing-CSV-Values-In-To-A-ColdFusion-Query.htm
是的,我讀過那些文章 - 本的大粉絲。不是真的我在找什麼。謝謝。 – 2011-06-02 14:51:13
我認爲這是作爲指定接受值一樣簡單在cffile中......不幸的是,CF8文檔沒有指定值作爲cffile信息的一部分...它在文件管理下...
<cffile action=」upload」 filefield=」filename」 destination=」#destination#」 accept=」text/csv」>
- 1. 如何確定文件是否是Eclipse中的文本文件
- 2. 如何確定上傳的文件是UTF-8還是UTF-16?
- 3. 檢查是否至少有一個文件被上傳PHP
- 4. 如何確定用戶是否選擇文件上傳文件?
- 5. 檢查上傳的文件是否爲CSV文件
- 6. 如何檢查文件夾中是否至少有一個文件在php
- 7. 如何檢查我的文件夾中是否至少有一個文件* .bak?
- 8. 如何確定文件是否爲空?
- 9. 如何檢查文件是否爲文本文件或不ASP
- 10. 如何確定給定文件是否爲xml valide文件
- 11. 如何確定CSV文件是否爲unicode
- 12. 如何檢查上傳的文件是否爲php文件?
- 13. 上傳的文件不是有效的X.509證書,或者密碼無效
- 14. 如何檢查上傳的文件是否是XLS文件?
- 15. 如何檢查給定文件是否是C++中的有效視頻文件?
- 16. 如何確定數據是否是無效的tar文件?
- 17. 如何確定當前是否有任何文件正在ASP.Net中上傳?
- 18. 是否有效文件名
- 19. 確定是否沒有BOM的文本文件是UTF8或ASCII VB.NET
- 20. 如何確認一個文件是一個有效的csv文件
- 21. 確定文件是二進制文件還是文本文件
- 22. 確定是否上傳的文件是MVC
- 23. 確定文本正文是否包含有效單詞或只是「亂碼」
- 24. Java - 如何確定文件名是否有效?
- 25. 確定文本是否爲英文?
- 26. ColdFusion CFFILE限制文本文件上傳
- 27. 如何確定用戶是否選擇文件進行實時文件上傳?
- 28. 如何在sh或bash中驗證xml文件是否有效?
- 29. 如何檢查上傳的文件是否是Django中的有效圖像
- 30. 確定文件是否爲腳本或不
你需要使用Java和似乎沒有成爲一個明確的辦法。看到這個問題:http://stackoverflow.com/questions/51438/getting-a-files-mime-type-in-java – orangepips 2011-06-01 20:05:45