Я пытаюсь передать поле формы типа «файл» в CFFUNCTION. Тип аргумента - «any». Вот синтаксис Я пытаюсь использовать (псевдокод):Почему я не могу передать поле формы файла типа CFFUNCTION с использованием синтаксиса структуры?
<cfloop from="1" to="5" index="i">
<cfset fieldname = "attachment" & i />
<cfinvoke component="myComponent" method="attachFile">
<cfinvokeargument name="attachment" value="#FORM[fieldname]#" />
</cfinvoke>
</cfloop>
Петля делается, потому что есть пять полей формы под названием «attachment1», «attachment2» и др.
Это бросает исключение в функции:
coldfusion.tagext.io.FileTag$FormFileNotFoundException: The form field C:\ColdFusion8\...\neotmp25080.tmp did not contain a file.
Однако этот синтаксис ДЕЛАЕТ работы:
<cfloop from="1" to="5" index="i">
<cfinvoke component="myComponent" method="attachFile">
<cfinvokeargument name="attachment" value="FORM.attachment#i#" />
</cfinvoke>
</cfloop>
Я не люблю писать код, как, что во втором примере. Мне это кажется плохой практикой.
Итак, может ли кто-нибудь сказать мне, как использовать синтаксис структуры, чтобы правильно передать поле формы типа файла в CFFUNCTION?
Да, это странно. Но поскольку cffile action = "upload" ожидает строку "name" поля формы, я не уверен, как еще вы могли ее написать. – Leigh