0

由于我在共享主机上,因此我无权对 Coldfusion 管理员进行任何更改。但我正在运行 cf9 并尝试使用该标签进行多张图片上传。一切看起来都很好,直到我单击上传按钮并返回 302 错误。经过一番研究,我发现这是因为我的这部分代码在管理员登录之后,并且会话变量没有通过带有标签的闪存传递,然后重定向到登录页面。根据我所见,解决方案是确保SESSIONMANAGEMENT="Yes"在 Application.cfm 文件中并附?#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/>

上传文件.cfm:

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

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

编辑:这个问题是我两次发布的吗?如果是这样,这就是我被否决的原因吗?

4

1 回答 1

1

在 CF9.0.1 之后不需要将会话令牌附加到 URL 解决方法

ColdFusion 9.0.1 中的增强功能

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

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

于 2012-05-18T15:54:29.647 回答