Coldfusion cfset и переменная область действия - PullRequest
1 голос
/ 05 августа 2011

Я пытаюсь сделать это

<cfset noncooperativevariable = #serverfile#>

, и я получаю сообщение об ошибке сервера не определено.Когда я пытаюсь использовать правильную переменную scope

<cfset noncooperativevariable = #CFFILE.serverfile#>

, которая возвращает ошибку.

Вы пытались разыменовать скалярную переменную типа class java.lang.String какструктура с членами.

Редактировать:

<cffile action="upload" filefield="fileUpload" destination="#destination#" nameConflict="makeUnique" result="upload">
<cfset noncooperativevariable = #fileUpload.serverfile#>

1 Ответ

3 голосов
/ 05 августа 2011

При использовании тега cffile результаты по умолчанию равняются структуре cffile в области действия переменных.Поэтому, если вы загружаете файл со следующим кодом:

<cffile action="upload" filefield="fileUpload" destination="#destination#" nameConflict="makeUnique" />

Результаты доступны через структуру cffile в вашей области переменных.На имя файла будет ссылаться следующим образом:

<cfset cooperativeVariable = cffile.serverfile />

В размещенном фрагменте вы используете атрибут 'result', который поместит результаты вашего файла в структуру с именем upload вместо cffile , так что вы получите имя файла примерно так:

<cfset cooperativeVariable = upload.serverfile />
...