Flex用传统方式与Servlet交互

用Flex+Java的组合方式做项目时,难免会遇到Flex用Request的方式与后台直接交互,比如上传文件,怎么做呢?

首先看看Flex端要用到的类:

1、URLRequest :与后台交互。flash.net包中。官方解释:URLRequest 类可捕获单个 HTTP 请求中的所有信息。

     常用方法:URLRequest(url:String)。参数url即传统的符合标准的uri,

     如:

     var request:URLRequest=new URLRequest("servlets/UploadImgServlet?filename=a.jpg");

可是这个类怎么与后台交互呢?官方解释:

     将 URLRequest 对象传递给 Loader、URLStream 和 URLLoader 类以及其他加载操作的 load() 方法以启动 URL 下载,并传递给 FileReference 类的 upload()download() 方法。

 

那么就用到下面的类了。

 

2、FileReference:上传或下载文件的类(文中为上传的实现)。flash.net包中。官方解释:FileReference 类提供了在用户计算机和服务器之间上载和下载文件的方法。

     用法:

     var fr:FileReference=new FileReference();
     fr.addEventListener(Event.SELECT,fileSelected);
     fr.addEventListener(Event.COMPLETE,fileCompleted);
     fr.addEventListener(ProgressEvent.PROGRESS,uploading);

 在监听事件中利用FileReference的upload方法将URLRequest传到后台:

     private function fileSelected(e:Event):void
     {
            request=new URLRequest("servlets/UploadImgServlet?filename=a.jpg");
            fr.upload(request);
      }

 

这样就传到后台,用Java接收吧。

 

怎么点击按钮弹出浏览文件窗口呢?FileReference还有一个方法browse(arr:Array)。这个Array里是什么呢?就是下面的东西:

 

3、FileFilter:用于弹出文件浏览窗口。同样在flash.net包中。官方解释:FileFilter 类用于指示在调用 FileReference.browse() 方法、FileReferenceList.browse() 方法或调用 File、FileReference 或 FileReferenceList 对象的 browse 方法时显示的文件浏览对话框中显示用户系统上的哪些文件。

用法:

      var jpgFilter=new FileFilter("jpg Files","*.jpg");

      var gifFilter=new FileFilter("gif Files","*.gif");

      var arr:Array=new Array(jpgFilter,gifFilter);

在按钮的点击事件中:

      fr.browse(arr);

 

OK了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值