Flex:使用正文中的二进制数据发送HTTP POST请求

时间:2009-09-17 09:20:59

标签: flex http post

我是Flex的新手,无法弄清楚如何将二进制数据作为POST请求的主体发送到服务器。 HTTPService组件似乎不支持这一点。 FileReference似乎不支持通过Flex API设置数据。

不幸的是,stackoverflow.com上类似问题的答案并不是很有希望。非常感谢任何新的指针,非常感谢!

- 安德烈亚斯

4 个答案:

答案 0 :(得分:3)

使用URLLoaderURLRequest类发布。

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

答案 1 :(得分:1)

我从未使用过Flex,但我想你需要使用类似http://en.wikipedia.org/wiki/Uuencoding

之类的东西在ascii中对二进制数据进行编码

答案 2 :(得分:1)

确实,Flex的HTTPService不支持不同的enctype。我找到并使用的一个很好的替代方案是在http://code.google.com/p/in-spirit/source/browse/#svn/trunk/projects/MultipartURLLoader/ru/inspirit/net找到的ru.inspirit.net.MultipartURLLoader(麻省理工学院许可证)。效果很好! :)

答案 3 :(得分:0)

根据您的目标,您可能需要考虑使用AMF对象。 谷歌“flex动作脚本” 假设您控制服务器。 Zend AMF是一个非常好的PHP AMF实现。