读书人

关于Flex下传通过URLVariables传参

发布时间: 2012-11-22 00:16:41 作者: rapoo

关于Flex上传通过URLVariables传参
最近在写Flex的上传 然后就遇到了问题

废话不多说

我是通过Flex写上传
我用FlieReference上传 URLRequest作为通信

查过URLRequest 的api,通常情况下
通过它的data属性来进行传值 可以使用ByteArray类型 URLVariables 再或者直接字符串

API中写道
ByteArray类型不支持POST 以及 FileReference.upload() , FileReference.download()

我在网上找过例子使用URLVariables,代码如下

      var request:URLRequest = new URLRequest(url);   var urlVar:URLVariables = new URLVariables();    urlVar.param = valStr;    request.data = urlVar;    request.method = URLRequestMethod.POST;

其中param作为属性名或者说是一个key 而valStr作为value

而后台使用 (String)request.getParameter("param");来接受
但挑了很长时间,不管用 后来也不知道是为什么

看了看API 标明如下
如果该对象是 URLVariables 对象,并且该方法是 POST,则使用 x-www-form-urlencoded 格式对变量进行编码,并且生成的字符串会用作 POST 数据。一种例外情况是对 FileReference.upload() 的调用,在该调用中变量将作为 multipart/form-data 发布中的单独字段进行发送。

DiskFileItemFactory factory = new DiskFileItemFactory();factory.setSizeThreshold(4096);ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(maxPostSize);try {List fileItems = upload.parseRequest(request);Iterator iter = fileItems.iterator();while (iter.hasNext()) {FileItem item = (FileItem) iter.next();if(item.getFieldName().equals("param")) {item.getString();........

正常的循环会循环出很多参数,所以需要判断

这样就可以获取到参数值了

读书人网 >flex

热点推荐