Flex+Java 导出PDF文件(大小不定)时进度条应用

  1.当点击"导出到PDF"按钮时,会弹出一个下载对话框,并显示下载进度条。如下图
  
  2.选择好保存路径和文件名后,点击保存。就开始下载。下载完成。进度条显示如下图
  
  3.点击确定按钮。则进度条就会消失。
  4.如果在弹出下载对话框时,你取消了下载。则进度条也跟随消失。
  不过,整个应用有两个问题未解决。还请高手解决。
  1.下载过程中,进度条没有发生动态变化。
  2.第一次下载成功后,再次重新点击时,进度条背景颜色未能成功初始化。我用了this.progressBar.setStyle("trackColors","#0000FF") ;这句代码。但还是没有效果。从之前一系列组件的应用来看,感觉flex3对CSS支持不理想。
  好了。奉献代码如下:
  AS代码:
  private var downloadURLRequest:URLRequest;
  private var file:FileReference;
  private function exportToPDF():void
  {
  var url:String = "/HouseRentMS/download?queryDate="+queryDate;
  downloadURLRequest = new URLRequest(url);
  file = new FileReference();
  configureListeners(file);
  var fileName:String ="房租明细("+this.queryDate+").pdf";
  this.progressBar.visible = true;
  file.download(downloadURLRequest,fileName);
  }
  private function configureListeners(dispatcher:IEventDispatcher):vo id {
  dispatcher.addEventListener(Event.COMPLETE, completeHandler);
  dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
  dispatcher.addEventListener(ProgressEvent.PROGRESS ,progressHandler);
  dispatcher.addEventListener(Event.CANCEL,cancelHan dler);
  }
  private function progressHandler(event:ProgressEvent):void {
  var fileUploadPercent:uint= event.bytesLoaded/event.bytesTotal*100;
  progressBar.setProgress(fileUploadPercent, 100);
  progressBar.label = "已完成" + fileUploadPercent + "%";
  }
  private function cancelHandler(event:Event):void
  {
  this.progressBar.visible = false;
  }
  private var btn:Class;
  private function completeHandler(event:Event):void
  {
  Alert.okLabel="确定";
  Alert.show("下载完成", "提示",
  Alert.OK, this,closeHandlerEvent,btn,Alert.OK);
  }
  private function closeHandlerEvent(event:CloseEvent):void{
  this.progressBar.label = "当前进度: 0%";
  this.progressBar.visible = false;
  //下面这句代码是初始化进度条背景颜色,但没有效果
  //this.progressBar.setStyle("trackColors","#0000FF ");
  }
  private function ioErrorHandler(event:IOErrorEvent):void
  {
  Alert.show(event.toString(),"提示");
  }
  MXML代码:
  width="400" minimum="0" mode="manual"
  maximum="100" visible="false" labelPlacement="center"
  fontSize="24" barColor="haloBlue" trackColors="[white, haloSilver]"
  trackHeight="64" id="progressBar" label="当前进度: 0%"
  fontWeight="normal" y="18" height="30" x="268"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值