Вы должны проанализировать сообщение cfcatch
. Слегка измененная версия вашего кода может выглядеть так:
<cftry>
<cffile action="upload"
filefield = "txtImg"
accept="image/jpeg, image/png, image/bmp, image/gif, image/pjpeg, image/x-png"
destination="/tmp/"
nameconflict="makeunique"/ >
<cfcatch>
<cfif FindNoCase("not accepted", cfcatch.Message)>
<script>
$(function(){
alert("Only the following file types are allowed: .jpg, .gif, .bmp, .png.");
});
</script>
<cfabort />
<cfelse>
<!--- looks like non-MIME error, handle separately --->
<cfdump var="#cfcatch#" abort />
</cfif>
</cfcatch>
</cftry>
Обратите внимание, что я не уверен в точном сообщении для неверного типа MIME для всех версий CF, поэтому я использовал поиск по блоку сообщений из ACF9, который выглядит следующим образом: The MIME type of the uploaded file application/octet-stream was not accepted by the server.