关于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");来接受
但挑了很长时间,不管用 后来也不知道是为什么

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


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

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

这样就可以获取到参数值了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值