在 Lucee 中使用 FORM.getPartsArray()

Using FORM.getPartsArray() in Lucee

目前我正在从事一个将源代码从 ColdFusion 转换为 Lucee 的项目。我发现 Lucee 在使用 FORM.getPartArray() 时发生错误。 Lucee有没有类似的功能可以替代FORM.getPartArray()?

示例代码:

<cfset var fileExt = 'png'>
<cfset var tmpPartsArray = FORM.getPartsArray() />
<cfif IsDefined("tmpPartsArray")>
    <cfloop array="#tmpPartsArray#" index="local.tmpPart">
        <cfif local.tmpPart.isFile() AND local.tmpPart.getName() EQ arguments.formField>
            <cfset fileExt = ListLast(local.tmpPart.getFileName(), ".")>
        </cfif>
    </cfloop>
</cfif>

不完全是。

FORM.getPartsArray() 是 Adob​​e 专有的,在 Lucee 中你可以尝试 FORM.getRaw() 但你可能需要做一些工作。

getName() 会匹配,但我不确定其他匹配。

您也可以尝试 FORM.getFileItems()。该数组似乎只包含文件字段。

<cfset Local.filesArray = FORM.getFileItems() />
<cfloop array="#Local.filesArray#" index="local.currFile">
    <cfset fileExt = ListLast(local.currFile.getName(), ".")>
</cfloop>

原始代码的用途是什么?由于文件已经上传到服务器,您也可以使用 <cffile action="upload"> 将其移动到安全目录并改为检查 cffile.serverFileExt