首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

关于Flex下传通过URLVariables传参

2012-11-22 
关于Flex上传通过URLVariables传参最近在写Flex的上传 然后就遇到了问题废话不多说我是通过Flex写上传我用

关于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();........

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

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

热点排行