При загрузке файла Coldfusion возвращает: C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot-tmp\neotmp12429.tmp не содержит файл

При загрузке файла Coldfusion 8 возвращает: C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot-tmp\neotmp12429.tmp не содержал файл. Кто-нибудь знает, что может быть причиной этого? Плохой синтаксис? Серверные разрешения? Недостающие части?

Мой тег cfform выглядит следующим образом:

<cfset myPath = "path to my folder">
<cfset mimeTypesList = "list of mime types I can accept">

<cfif structKeyExists(FORM, "submit")>
    <cffile action="upload" fileField="#form.myImage#" destination="#myPath#"
accept="#mimeTypesList#" nameConflict="MakeUnique">
</cfif>

<cfform name="myForm" format="html" action="#cgi.SCRIPT_NAME#" method="post" enctype="multipart/form-data">
<cfinput type="file" name="myImage" accept="image/jpg,image/gif,image/pjpeg">
<cfinput type="submit" name="submit" value="submit">
</cfform>

2 ответа

Решение

Я решил проблему, это неуловимо, но легко упустить из виду.

Атрибут fileField тега cffile просто запрашивает имя входного файла, а НЕ результирующую переменную Coldfusion FORM.

Неправильно:

<cffile action="upload" fileField="#form.myImage#" ...

Правильно:

<cffile action="upload" fileField="myImage" ...

Ответ выше верен, но я просто хотел добавить его на тот случай, если у меня возникнет проблема, с которой я столкнулся.

Мой исходный код загрузки изображений был таким;

<cfobject component="#session.components#files" name="files">
<cfset url_file_path = files.uploadImage(file_upload)>

Это вызвало аналогичную ошибку, упомянутую в заголовке (C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot-tmp\neotmp12429.tmp).

Когда я изменил свой код на;

<cfinvoke component="#session.components#files"
method="uploadImage"
formField = "file_upload" 
returnvariable = "url_file_path">

Все было шикарно дорей! Если честно, я не знаю почему, но просто на что-то обратить внимание.

Другие вопросы по тегам