我是Flex的新手,並且還無法弄清楚如何將二進制數據作爲POST請求的主體發送到服務器。 HTTPService組件似乎不支持這一點。 FileReference似乎不支持通過Flex API設置數據。Flex:在主體中發送帶有二進制數據的HTTP POST請求
不幸的是,對stackoverflow.com上類似問題的答案並不是很有希望。任何新的指針將不勝感激,非常感謝!
- 安德烈亞斯
我是Flex的新手,並且還無法弄清楚如何將二進制數據作爲POST請求的主體發送到服務器。 HTTPService組件似乎不支持這一點。 FileReference似乎不支持通過Flex API設置數據。Flex:在主體中發送帶有二進制數據的HTTP POST請求
不幸的是,對stackoverflow.com上類似問題的答案並不是很有希望。任何新的指針將不勝感激,非常感謝!
- 安德烈亞斯
我從來沒有用過的Flex但我想你會需要使用URLLoader
和URLRequest
類使用像http://en.wikipedia.org/wiki/Uuencoding
張貼編碼以ASCII格式的二進制數據。
var urlLoader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest(url);
request.data = binaryData;
request.method = URLRequestMethod.POST
urlLoader.load(request);
無法使用HTTPService發送數據,就像您在此處所做的那樣?在這種情況下,URLLOader是唯一需要發送正文內容的方法嗎?提前致謝! – 2012-12-12 08:41:36
根據您的目標,您可能要考慮使用AMF對象。 谷歌「flex actionscript」 ,假設你控制服務器。 Zend AMF是一個相當不錯的PHP AMF實現。
確實,Flex的HTTPService不支持不同的enctypes。我找到並使用的一個很好的選擇是ru.inspirit.net.MultipartURLLoader在http://code.google.com/p/in-spirit/source/browse/#svn/trunk/projects/MultipartURLLoader/ru/inspirit/net(MIT許可證)中找到。效果很好! :)
如果你沒有綁定到POST,那麼就有二進制flex的Socket類。否則,你需要使用像Tarski說的。 HTTP只能是字符串,所以UUencode或B64encode或類似的東西。 – Glenn 2009-09-17 10:36:58