ColdFusion 9中文件上传的脚本功能

时间:2010-02-09 18:04:43

标签: coldfusion file-upload upload

在ColdFusion 9中是否存在cfsile等效的cffile action =“upload”?通过文档查看,似乎没有。

[更新]这是在9.0.1更新中添加的 http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSd160b5fdf5100e8f36f73035129d9e70a92-8000.html

3 个答案:

答案 0 :(得分:10)

您可以使用用户定义的函数轻松地对其进行抽象。

<cffunction name="fileuploader">
    <cfargument name="formfield" required="yes" hint="form field that contains the uploaded file">
    <cfargument name="dest" required="yes" hint="folder to save file. relative to web root">
    <cfargument name="conflict" required="no" type="string" default="MakeUnique">
    <cfargument name="mimeTypesList" required="no" type="string" hint="mime types allowed to be uploaded" default="image/jpg,image/jpeg,image/gif,image/png,application/pdf,application/excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,application/vnd.ms-excel,image/pjpeg">

    <cffile action="upload" fileField="#arguments.formField#" destination="#arguments.dest#" accept="#arguments.mimeTypesList#" nameConflict="#arguments.conflict#">

    <cfreturn cffile>
</cffunction>

然后在cfscript中使用它:

<cfscript>
    // NOTE: because of how cffile works, put the form field with the file in quotes.
    result = fileUploader("FORM.myfield", myDestPath);
    WriteOutput(result.fileWasSaved);
</cfscript>

注意:如果Adobe确实包含此功能,我会非常小心地重命名此功能。

答案 1 :(得分:3)

不确定何时添加,但CF确实支持CFSCRIPT中的文件上传。我一直在使用FileUpload()。我已经检查过它不是我的MVC框架中的函数,def似乎是CF 9.01独有的东西。

然而,Builder 2似乎不喜欢它,也不能在CF 9 Docs上找到参考但是它确实有效并且它是持续的Adobe ColdFusion 9.01的一部分,Ralio我没有检查过

使用的例子:

fileUpload(getTempDirectory(),"ImageFile","","makeUnique");

答案 2 :(得分:1)

不,但已被要求。