Этот код используется для работы хорошо с ColdFusion 9:ColdFusion 10 cffile действие = «загрузить» принимать атрибут подстановочные не работают
<cfif form.btnSaveImage EQ "Upload">
<cftry>
<cffile accept="image/*" action="upload" destination="C:\T" filefield="vcImageFile" nameconflict="overwrite">
<cfcatch type="Any">
<cfdump var="#cfcatch#" label="cfcatch">
</cfcatch>
</cftry>
</cfif>
<form action="<cfoutput>#cgi.SCRIPT_NAME#</cfoutput>" method="post" name="frmImagesAdd" id="frmImagesAdd" enctype="multipart/form-data">
<label for="vcImageFile">Image File*:</label><br>
<input type="file" name="vcImageFile" id="vcImageFile" size="40" maxlength="255" message="Image file is required to upload."><br>
<input type="hidden" name="btnSubmit" value="Add Image">
<input name="btnSaveImage" type="submit" value="Upload">
</form>
вопрос является accept="image/*"
атрибутом cffile тега. В ColdFusion 9 этот шаблон используется для приема любого файла с типом MIME, который начинается с «image /». В ColdFusion 10, я получаю следующее сообщение об ошибке:
«Тип MIME или расширение загруженного файла изображения JPEG/был не принимается сервером.»
Значение MimeType - «image/jpeg», поэтому оно должно работать с подстановочным знаком.
Я смотрел на wikidocs for the cffile tag и говорит, что это:
ColdFusion 10: Изменения в атрибуте принимают}}
Однако он не уточнил, что эти модификации!
Глядя на upload action docs, в нем говорится, что он будет использовать список типов mime с разделителями-запятыми. Означает ли это, что подстановочные знаки больше не принимаются?
(Изменить) Что произойдет, если вы используете ['strict = false'] (http://www.sagarganatra.com/2012/03/coldfusion-10-cffile-restricting-file.html)? Не ответ на ваш вопрос, но вы можете прочитать это: [Безопасная загрузка файлов/Не полагайтесь на атрибут accept cffile] (http://www.petefreitag.com/item/701.cfm). Не уверен, что все еще применяется в CF 10, просто FYI ... – Leigh
Я лично указал каждый тип изображения, который я хочу принять следующим образом: image/jpeg, image/pjpeg, image/png, image/gif. По-моему, лучше сделать это так, как использовать подстановочный знак. –
@ volumeone - Я не знаю, изменился ли CF10, но в более ранних версиях метод «accept» был легко взломан, поэтому вы не должны полагаться на него в любом случае. См. Ссылку выше. – Leigh