2010-01-21 28 views

回答

1

由於客戶端無法讀取文件,因此您無法檢查提交的文件是否爲客戶端的圖像格式。(*)這就是爲什麼插件不提供此類功能。

您可以在文件上傳字段中檢查其value是否爲空字符串(未選擇任何文件),這是唯一可靠的檢查。雖然您可能會試圖通過查看文件名來猜測文件是否爲圖像(例如它是以'.gif','.png','。jpeg'還是'.jpg'結尾),但這是不可靠的根據操作系統和文件類型配置設置,文件擴展名可能不會與文件類型有任何關係。

(*:除了在Firefox 3中使用FileList接口。)

+0

同意 - 當你真的上傳文件,檢查MIME類型,以確保它真的是一個.jpg或任何其他(而不是一個.php或.exe僞裝成一個) – niggles 2010-01-21 23:51:18

+0

感謝您的提示bobince。 規則:我最後用這個代碼在DOM ready函數管理{ 字段:{ 要求:真實, 接受: 「XLS | CSV」 }} – kevin 2010-01-22 12:56:46

+0

@niggles:檢查文件的內容,而不是MIME類型。瀏覽器提交的MIME類型非常脆弱,因爲它取決於操作系統對文件類型的猜測。很多時候你會得到一個錯誤的Content-Type提交,或者一個未知的提交,或者只是application/octet-stream。 – bobince 2010-01-22 13:18:32

1

剛剛嘗試使用

class='required error' 

,以確保有什麼東西在場上。 class =「需要的電子郵件」class =「需要的號碼」尋找某些模式。

如果要確保文件名中上傳的文件是.jpg,請編寫自定義規則以檢查這些字符。

+0

剛試過,不工作。 – kevin 2010-01-21 22:12:19

+0

我需要一個類=「必需的文件」 – kevin 2010-01-21 22:18:04