При загрузке файла 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">
Все было шикарно дорей! Если честно, я не знаю почему, но просто на что-то обратить внимание.