2012-05-18 84 views
0

由於我在共享主機上,因此我無權對coldfusion管理員進行任何更改。但我正在運行cf9,並試圖將該標籤用於多個圖像上傳。一切都很好,直到我點擊上傳按鈕並返回302錯誤。經過一番研究後,我發現這是因爲我的代碼部分位於管理員登錄後面,會話變量不會通過帶有標記的閃存傳遞,然後重定向到登錄頁面。從我看到的解決方案到這個是確保SESSIONMANAGEMENT="Yes"在Application.cfm文件中,並追加?#urlEncodedFormat(session.urltoken)#到上傳應該發生的URL。我唯一看到的其他事情就是進入Coldfusion管理員並改變會話管理的類型。 Java EE servlet session managementColdFusion session management,我不能這樣做。會話變量和cffileupload問題

我希望還有其他的選擇可以讓這個工作,或者我做了一些錯誤的事情,有人可以指出。

這裏是我的代碼示例:

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

我會接受一個答案,如果一個工作過。雖然每個人的貢獻都給予了很好的見解並提供了很好的幫助,但是我的情況沒有一個是正確的我最終使用了幾乎完全的其他解決方案。謝謝。 –

+0

在這種情況下,發佈自己的答案並接受答案是可以接受和適當的。 – Blazemonger

+0

我沒有足夠的排名來回答我自己的問題。我的解決方案是創建多個文件輸入,而不是多個文件上傳。不是一個真正的解決方案,只是放棄。 –

回答

1

不需要所附會話令牌到URL替代方法後CF9.0.1

增強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

+0

我不確定我在CF9以外使用哪個版本的CF。我可能有9.0.1或只有9.0,只是不確定。有沒有一種方法,我可以像phpinfo()一樣在php中找到。我很少使用coldfusion,所以我不太熟悉它。另外,如果我正在使用9.0.1,還有什麼其他原因可能會導致302錯誤? –

+0

服務器版本是'9,0,0,251028'我從運行

+0

的時候請求你的主機升級。 :) CF 9.0.1帶來了很多錯誤修復以及新功能! – Henry