2009-09-17 46 views
2

我是Flex的新手,並且還無法弄清楚如何將二進制數據作爲POST請求的主體發送到服務器。 HTTPService組件似乎不支持這一點。 FileReference似乎不支持通過Flex API設置數據。Flex:在主體中發送帶有二進制數據的HTTP POST請求

不幸的是,對stackoverflow.com上類似問題的答案並不是很有希望。任何新的指針將不勝感激,非常感謝!

- 安德烈亞斯

+0

如果你沒有綁定到POST,那麼就有二進制flex的Socket類。否則,你需要使用像Tarski說的。 HTTP只能是字符串,所以UUencode或B64encode或類似的東西。 – Glenn 2009-09-17 10:36:58

回答

3

張貼編碼以ASCII格式的二進制數據。

var urlLoader:URLLoader = new URLLoader(); 
var request:URLRequest = new URLRequest(url); 
request.data = binaryData; 
request.method = URLRequestMethod.POST 
urlLoader.load(request); 
+1

無法使用HTTPService發送數據,就像您在此處所做的那樣?在這種情況下,URLLOader是唯一需要發送正文內容的方法嗎?提前致謝! – 2012-12-12 08:41:36

0

根據您的目標,您可能要考慮使用AMF對象。 谷歌「flex actionscript」 ,假設你控制服務器。 Zend AMF是一個相當不錯的PHP AMF實現。