会话变量和cffileupload的问题

时间:2012-05-18 15:13:46

标签: session coldfusion upload multiple-files

我没有权限对coldfusion管理员进行任何更改,因为我在共享主机上。但我正在运行cf9,并尝试使用该标签进行多个图像上传。在我单击上传按钮并返回302错误之前,一切看起来都很好。经过一些研究,我发现这是因为我的代码的这部分是在管理员登录后面,并且会话变量没有通过带有标记的flash传递,然后重定向到登录页面。从我看到的解决方案是确保Application.cfm文件中的SESSIONMANAGEMENT="Yes"并将?#urlEncodedFormat(session.urltoken)#附加到应该发生上传的url。我见过的唯一另一件事就是进入coldfusion管理员并改变会话管理的类型。我不能做的Java EE servlet session managementColdFusion session management

我希望还有其他方法可以让它发挥作用,或者我做错了某些人可以指出的事情。

以下是我的代码示例:

test.cfm

<script> 
var foo = function(result) 
{ 
    alert(ColdFusion.JSON.encode(result)); 
} 
</script> 
<cffileupload url="uploadFiles.cfm?#urlEncodedFormat(session.urltoken)#" width=600 height=400/>

uploadFiles.cfm:

<cffile action="uploadAll" destination="#Application.filePath#Gallery\" nameconflict="makeunique"> 
<cfset str.STATUS = 200>
<cfset str.MESSAGE = "passed">
<cfoutput>#serializeJSON(str)#</cfoutput>

目标路径是正确的绝对路径。

编辑:这个问题是我两次发布的吗?如果是这样,那是我被投票的原因吗?

1 个答案:

答案 0 :(得分:1)

在CF9.0.1

之后,不需要将附加会话令牌添加到URL解决方法
  

ColdFusion 9.0.1中的增强功能

     

在ColdFusion 9.0.1中,fileupload   控制将会话信息隐式传递给目标页面   如果在Application.cfc或中打开了会话管理   Application.cfm。

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec18238-7fd0.html