2010-02-09 3 views

Répondre

10

Vous pouvez facilement l'extraire avec une fonction définie par l'utilisateur.

<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> 

Et puis l'utiliser dans 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: Je serais très prudent lorsque vous renommez cette fonction en cas Adobe inclut cette fonctionnalité sur la route.

+0

C'est exactement ce que j'ai fait dans le passé, j'espérais juste pouvoir l'éviter en 9. Peut-être en 10. –

+0

Nouvelle fonction a été ajoutée, voir le lien dans la question éditée ci-dessus –

1

Nope, mais il a été demandé.

+0

Son téléchargement n'a pas été inclus, compte tenu du nombre de fonctions de fichiers ajoutées. –

2

Vous ne savez pas quand cela a été ajouté, mais CF prend en charge les téléchargements de fichiers dans CFSCRIPT. J'utilise FileUpload() depuis un petit moment. J'ai vérifié que ce n'est pas une fonction dans mon cadre MVC et que def semble être quelque chose d'unique à CF 9.01.

Cependant, Builder 2 ne semble pas l'aimer et je ne puis trouver référence CF 9 Docs mais il fonctionne et il fait partie de la dure Adobe ColdFusion 9,01, Ralio Je n'ai pas vérifié tho

exemples utilisés:

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