Coldfusion Form.getPartsArray函数

Coldfusion Form.getPartsArray函数,coldfusion,Coldfusion,这两个链接引用了ColdFusion中使用form.getPartsArray()获取上传文件名的功能。但是我找不到关于它的ColdFusion文档。我想使用它,但如果它已被弃用或将被弃用,则不使用。有人有更多关于这个函数的起源和命运的信息吗 ColdFusion:在上传之前获取文件名 暂时忽略主要问题,您能否详细说明为什么要使用它?问这个问题的原因是第一个问题的标题可能会让你对这个方法的实际作用产生错误的印象。Form.getPartsArray()在上传文件之前不提供对文件信息的访问。此

这两个链接引用了ColdFusion中使用form.getPartsArray()获取上传文件名的功能。但是我找不到关于它的ColdFusion文档。我想使用它,但如果它已被弃用或将被弃用,则不使用。有人有更多关于这个函数的起源和命运的信息吗

ColdFusion:在上传之前获取文件名

暂时忽略主要问题,您能否详细说明为什么要使用它?问这个问题的原因是第一个问题的标题可能会让你对这个方法的实际作用产生错误的印象。Form.getPartsArray()在上传文件之前不提供对文件信息的访问。此时文件已经在服务器上,因此在CF的更高版本中(具有附加功能),仅使用
cffile action=upload
不一定能为您带来太多好处

有人有更多关于这一事件起源和命运的信息吗 功能

然而,要回答你的另一个问题——这是我上次检查的一个未记录的特性。(它在CF的早期版本中更有用,因为CF缺少一些与表单字段和上传相关的新功能。)

在内部,大多数表单数据都可以使用标准的请求对象来处理,即。但是,这些不支持多部分请求,即文件上载。因此需要一个特殊的处理器。Macromedia/Adobe选择使用该库进行内部实现。这就是使用
FORM.getPartsArray()
时要访问的内容

自(至少)CF8起,O'Reilly产品就与CF捆绑在一起,这是一个很好的指标。但是,使用任何内部特性都会带来实现更改和中断应用程序的风险。此外,如果移动到其他引擎,代码可能不受支持/不兼容。所以“你付钱,你选择”

CF8/表格范围


对于第一个链接,第二个答案看起来比第一个好。我使用它来获取上载文件的文件名,以便操作名称并存储文件。@dutchlab-请参阅我的更新。有什么原因不能只使用
cffile
?我正在使用cffile,但是我也在创建文件的pdf文件的同时,将文件名存储在数据库中。使用cfset filename=form.fileupload会提供由ColdFusion分配的tmp名称,该名称没有任何用处。通过使用getparts,我可以将用户输入的日期值与文件名组合起来,创建一个新的文件名。这样做很简单,但我将使用cffile的结果进行返工,以消除此函数停止工作的可能性。@dutchlab-不确定它是否适用于您的情况,但在我的大多数应用程序中,物理文件名和“用户友好”文件名是分开存储的。上传文件时,应用程序会生成一个唯一的文件名,删除所有无效字符。然后,我将物理名称和原始文件名(或更用户友好的版本)存储在单独的列中。当使用cfcontent下载文件时,我使用“友好”版本作为显示名称。感谢您的时间和建议。我使用cffile result.clientFileName和result.clientFileExt获取文件的起点,然后清除cleintFileName并将其他用户输入的值添加到该值中,以创建pdf文件的唯一名称。我将该值存储在数据库中。