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