2009-12-09 6 views
1

Lors du téléchargement d'un fichier, Coldfusion 8 renvoie: C: \ ColdFusion8 \ runtime \ serveurs \ coldfusion \ SERVER-INF \ temp \ wwwroot-tmp \ neotmp12429.tmp ne contenait pas de fichier. Est-ce que quelqu'un sait ce qui peut causer cela? Mauvaise syntaxe? Autorisations du serveur? Pièces manquantes?Lors du transfert de fichiers, Coldfusion renvoie: C: ColdFusion8 runtime servers coldfusion SERVER-INF temp wwwroot-tmp neotmp12429.tmp ne contenait pas de fichier

Mon tag cfform se présente comme suit:

<cfset myPath = "path to my folder"> 
<cfset mimeTypesList = "list of mime types I can accept"> 

<cfif structKeyExists(FORM, "submit")> 
    <cffile action="upload" fileField="#form.myImage#" destination="#myPath#" 
accept="#mimeTypesList#" nameConflict="MakeUnique"> 
</cfif> 

<cfform name="myForm" format="html" action="#cgi.SCRIPT_NAME#" method="post" enctype="multipart/form-data"> 
<cfinput type="file" name="myImage" accept="image/jpg,image/gif,image/pjpeg"> 
<cfinput type="submit" name="submit" value="submit"> 
</cfform> 
+0

Est-ce que ça arrive tout le temps? Ou juste occasionnellement? –

+0

Sam: Dans ce cas, c'est arrivé à chaque fois. Mais j'ai beaucoup utilisé cffile et presque jamais rencontré ce problème. Comme vous pouvez le voir à partir de la solution que j'ai trouvée ci-dessous, j'ai commis une erreur et Coldfusion a eu de terribles erreurs dans ce cas particulier. –

+0

J'ai utilisé une approche similaire, et j'ai remarqué le même problème, mais il a été intermittent. – Ahmad

Répondre

9

J'ai résolu le problème, il est subtil, mais facile à négliger.

L'attribut fileField de la balise cffile demande simplement le nom de l'entrée du fichier, PAS la variable Coldfusion FORM résultante.

Mauvais:

<cffile action="upload" fileField="#form.myImage#" ... 

droit:

<cffile action="upload" fileField="myImage" ... 
0

La réponse ci-dessus est correct, mais je voulais juste y ajouter au cas où quelqu'un ma question connexe que j'ai résolu.

Mon code de téléchargement d'image originale était comme ceci;

<cfobject component="#session.components#files" name="files"> 
<cfset url_file_path = files.uploadImage(file_upload)> 

Cela a provoqué une erreur similaire mentionné dans le titre (C: \ ColdFusion8 \ exécution serveurs \ \ coldfusion \ SERVEUR-INF \ temp \ wwwroot-tmp \ neotmp12429.tmp).

Lorsque j'ai changé mon code pour;

<cfinvoke component="#session.components#files" 
method="uploadImage" 
formField = "file_upload" 
returnvariable = "url_file_path"> 

Tout était hunky dorey! Pour être honnête, je ne sais pas pourquoi mais juste quelque chose à surveiller.