CFFILE上传所有问题 - Coldfusion 9

时间:2012-09-05 16:07:44

标签: coldfusion coldfusion-9

我正在尝试使用此代码将文件上传到我的服务器,但却给了我一个错误。

这是代码:

 <cfif isdefined("form.submit")> 
   <cffile action="uploadall" destination="#expandpath('../../images/Uploads/after')#"> 
 </cfif> 
 <cfform action="#cgi.script_name#" enctype="multipart/form-data"> 
   <cfinput type="file" name="attachment1"><br> 
   <cfinput type="file" name="attachment2"><br> 
   <cfinput type="file" name="attachment3"><br> 
   <cfinput type="submit" name=" submit" value="submit"> 
 </cfform>

这是错误:

  

以下信息适用于网站开发人员以进行调试。

     

处理请求时发生错误

     

内容类型无效:application / x-www-form-urlencoded。

     

文件上传操作要求表单使用enctype =“multipart / form-data”。

     

错误发生在E:\ sites \ Example.Com \ testing \ handlers \ upload \ after.cfm:第20行

2 个答案:

答案 0 :(得分:1)

我看到你已经转向了一个不同的解决方案,但我想回答你的问题,因为答案很简单(并且是对Coldfusion中一些奇怪的陷阱的陈规定型)。问题是<cfform> simply doesn't support the enctype attribute。如果要上传文件,则必须使用普通<form>。很奇怪,对吧?

(我想你可以改变XSLT,这样带有文件输入的cfform会自动正确设置enctype。但是为什么它没有开箱即用就超出了我。)

答案 1 :(得分:0)

您在目标属性中引用的目录结构是否存在'“#expandpath('../../ images / Uploads / after')#”'?

如果destination属性不是绝对路径,那么它相对于ColdFusion的临时目录。与您的Web根目录或正在运行的模板无关。

以下是文档here

中的说明

上传文件的目录的路径名。如果不是绝对路径(以驱动器号和冒号开头,或者是正斜杠或反斜杠),则它相对于ColdFusion临时目录,该目录由GetTempDirectory函数返回。