问题
Is there a a cfscript equivalent for cffile action="upload" in ColdFusion 9? Looking through the docs, there doesn't seem to be.
[Update] This was added in the 9.0.1 update http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSd160b5fdf5100e8f36f73035129d9e70a92-8000.html
回答1:
You can easily abstract it with a user defined function.
<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>
And then use it in 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>
Note: I would be very careful how you rename this function in case Adobe does include this functionality down the road.
回答2:
Not sure when this was added but CF does support file uploads in CFSCRIPT. I have been using FileUpload() for a little while. I have checked it is not a function in my MVC framework and def seems to be something unique to CF 9.01.
However, Builder 2 does not seem to like it nor can I find reference on CF 9 Docs but it does works and it is part the lasted Adobe ColdFusion 9.01, Ralio I have not checked tho
examples used:
fileUpload(getTempDirectory(),"ImageFile","","makeUnique");
回答3:
Nope, but it has been requested.
来源:https://stackoverflow.com/questions/2231289/script-function-for-file-upload-in-coldfusion-9