2011-03-21 66 views
-1

我將使用URLRequest在Flex中上傳修改後的圖像。它工作正常。但是,我需要將Content-Length作爲URLRequestHeader暫時添加,並且出現錯誤2096.然後,我知道這個標頭是不允許的。Actionscript中的URLRequestHeader問題

我該如何解決這種情況。

請指教,謝謝。

更新: 根據Adobe的文檔: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequestHeader.html

在Flash Player和Adobe AIR 應用 安全沙箱外部的內容,不能使用以下 請求頭,並 受限條款不是 區分大小寫(例如,Get,get, 和GET都是不允許的)。此外,如果使用 下劃線 複姓條款適用(對於 例如,無論是內容長度和 CONTENT_LENGTH是不允許的):

接收字符集,接受編碼, 接受,範圍,年齡,允許,允許, 授權,收費,連接, 連接,內容長度, 內容 - 位置,內容範圍, Cookie,日期,刪除,ETag,期待, Get,Head,Host,If-由於, Keep-Alive,Last-Modified,Location, Max-Forwards,選項,來源,發佈, Proxy-Authentica te, 代理授權,代理連接, 公開,放入,範圍,Referer, 請求範圍,重試後,服務器, TE,跟蹤,預告片,傳輸編碼, 升級,URI,用戶代理,Vary,Via, 警告,WWW-Authenticate, x-flash-version。

回答

0

這是一個安全沙箱中的問題。您嘗試在同一個安全沙箱中發佈的網址?如果沒有,那麼他們有沒有crossdomain.xml。如果沒有,您可能需要查看服務器解決方案,例如將圖像發送到同一個域的服務器,然後將帶有適當標頭的圖像發送到您嘗試連接的服務。

+0

J_A_X,謝謝你的回覆。他們不在同一個安全沙箱中。他們有crossdomain.xml,但它似乎並沒有解決問題。實際上,我嘗試將圖片上傳到Picasa網絡,並面對這個問題。我知道我可以在我的服務器中設置一個代理腳本來解決它。但是,我想知道是否有任何我不知道的方法可以解決這個問題。 – michael 2011-03-21 23:48:34

+0

也許這是我之前沒有聽說過的使用跨域的限制,但是爲了告訴你實情,我從來不必在請求中修改標頭。您應該使用中間件解決方案,您可以將圖像發佈到php腳本(或任何服務器端語言),然後使用正確的標頭將其發送到Picasa服務器。應該很容易實現,再加上它更容易在將來更新系統。 – 2011-03-22 17:02:28