视频下载器不在flex中下载文件

时间:2015-03-09 12:39:21

标签: actionscript-3 flex video actionscript

我创建了视频下载器AIR应用程序。
哪个会将远程文件下载到本地。

我写下面的代码来下载文件。

var urlString:String = REMOTE_URL;
var urlReq:URLRequest = new URLRequest(urlString);

urlStream.addEventListener(Event.COMPLETE, loaded);
urlStream.addEventListener(ProgressEvent.PROGRESS, writeFile);
urlStream.addEventListener(IOErrorEvent.IO_ERROR, onIoError);

var file:File = File.desktopDirectory.resolvePath("D:/test.mp4");
fileStream.openAsync(file, FileMode.WRITE);

urlStream.load(urlReq);

function writeFile(event:ProgressEvent):void 
{
    if (urlStream.bytesAvailable > 51200) 
    {
          progBar.setProgress(event.bytesLoaded,event.bytesTotal);
          var data:ByteArray = new ByteArray();
          urlStream.readBytes(data, 0, urlStream.bytesAvailable);
          fileStream.writeBytes(data, 0, data.length);
    }
}

function onIoError(event:IOErrorEvent):void
{
        trace("IO Error");
}

function loaded(event:Event):void {}

它会成功下载一些文件。但是从一些网址上它不会下载文件。它只会返回event.bytesTotal = 162 bytes。即使它可用超过200 MB。

当我使用content-type听众检查HTTPStatusEvent.HTTP_RESPONSE_STATUS时,它会给text/html; charset=utf-8

我在浏览器中打开该URL并尝试保存,然后将成功下载。

希望有人有解决方案。 谢谢。

0 个答案:

没有答案