baidu_25270477 2016-07-25 02:29 采纳率: 0%
浏览 804

一个下载指定文件的actionscript,请问各位,要想测试出下载开始到完成的耗时,要怎么修改

package
{
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.net.URLRequest;
import flash.events.MouseEvent;
import fl.motion.MotionEvent;
import flash.utils.getTimer;

public class URLLoaderExample extends Sprite
{
private var uploadURL:URLRequest;
private var file:FileReference;
private var upfile:FileReference;

public function URLLoaderExample()
{
upBtn.addEventListener(MouseEvent.CLICK,Upload); //鼠标单击上传按钮执行Upload方法
downBtn.addEventListener(MouseEvent.CLICK,downSpeed); //鼠标单击下载按钮执行download方法
}

private var downloadURL:URLRequest;
private var fileName:String = "PDF2Word.zip";
//private var file:FileReference;
function downSpeed(me:MouseEvent)
{
var t=getTimer();
download();
trace(getTimer()-t);
}

function download() //下载
{
downloadURL = new URLRequest();
downloadURL.url = "http://file.foxitreader.cn/sprint/file/201605/PDF2Word.zip"; //下载链接
file = new FileReference();
configureListeners(file);
file.download(downloadURL, fileName);
}

private function configureListeners(dispatcher:IEventDispatcher):void
{
dispatcher.addEventListener(Event.CANCEL, cancelHandler);
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(Event.SELECT, selectHandler);
}

private function cancelHandler(event:Event):void
{
trace("cancelHandler: " + event);
}

private function completeHandler(event:Event):void
{
trace("completeHandler: " + event);
}

private function ioErrorHandler(event:IOErrorEvent):void
{
trace("ioErrorHandler: " + event);
}

private function openHandler(event:Event):void
{
trace("openHandler: " + event);
}

private function progressHandler(event:ProgressEvent):void
{
var file:FileReference = FileReference(event.target);
trace("progressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}

private function securityErrorHandler(event:SecurityErrorEvent):void
{
trace("securityErrorHandler: " + event);
}

private function selectHandler(event:Event):void
{
var file:FileReference = FileReference(event.target);
trace("selectHandler: name=" + file.name + " URL=" + downloadURL.url);
}

private function Upload(me:MouseEvent) //上传
{
uploadURL = new URLRequest();
uploadURL.url = "http://localhost:8080/test/";
upfile = new FileReference();
upConfigureListeners(upfile);
upfile.browse(getTypes());
}

private function upConfigureListeners(dispatcher:IEventDispatcher):void
{
dispatcher.addEventListener(Event.CANCEL, upCancelHandler);
dispatcher.addEventListener(Event.COMPLETE, upCompleteHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, upIoErrorHandler);
dispatcher.addEventListener(Event.OPEN, upOpenHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, upProgressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, upSecurityErrorHandler);
dispatcher.addEventListener(Event.SELECT, upSelectHandler);
dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
}

private function getTypes():Array
{
var allTypes:Array = new Array(getImageTypeFilter(),getTextTypeFilter());
return allTypes;
}

private function getImageTypeFilter():FileFilter
{
return new FileFilter("Images (*.jpg, .jpeg, *.gif, *.png)", ".jpg;*.jpeg;*.gif;*.png");
}

private function getTextTypeFilter():FileFilter
{
return new FileFilter("Text Files (*.txt, .rtf)", ".txt;*.rtf");
}

private function upCancelHandler(event:Event):void
{
trace("upCancelHandler: " + event);
}

private function upCompleteHandler(event:Event):void
{
trace("upCompleteHandler: " + event);
}

private function uploadCompleteDataHandler(event:DataEvent):void
{
trace("uploadCompleteData: " + event);
}

private function httpStatusHandler(event:HTTPStatusEvent):void
{
trace("httpStatusHandler: " + event);
}

private function upIoErrorHandler(event:IOErrorEvent):void
{
trace("upIoErrorHandler: " + event);
}

private function upOpenHandler(event:Event):void
{
trace("upOpenHandler: " + event);
}

private function upProgressHandler(event:ProgressEvent):void
{
var file:FileReference = FileReference(event.target);
trace("upPorgressHandler name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
}

private function upSecurityErrorHandler(event:SecurityErrorEvent):void
{
trace("upSecurityErrorHandler: " + event);
}

private function upSelectHandler(event:Event):void
{
var file:FileReference = FileReference(event.target);
trace("upSelectHandler: name=" + file.name + " URL=" + uploadURL.url);
file.upload(uploadURL);
}

}

}

  • 写回答

1条回答 默认 最新

  • Miki_zhangyy 2016-07-25 04:09
    关注

    直接设置全局变量啊,两个,一个开始时间的点的毫秒数,一个结束时间点的毫秒数,程序开始获取当前时间点给开始时间点变量,结束时获取当前时间点给结束时间点的变量,两个一减就是耗时啊

    评论

报告相同问题?

悬赏问题

  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作