gpt4 book ai didi

flash - 保存没有文件引用的下载

转载 作者:行者123 更新时间:2023-12-02 08:51:20 24 4
gpt4 key购买 nike

是否可以使用 URLLoader 下载文件然后将其保存到磁盘而不使用文件引用或任何使用对话框的东西?这是我拥有但无法正常工作的:

public function onDownloadComplete(e:Event):void
{
DownloaderProgress.label = 'Download Done';

var loader:URLLoader = URLLoader(e.target);
var rtsFile:File = File.applicationStorageDirectory.resolvePath("RTS.zip");
var rtsStream:FileStream = new FileStream();
rtsStream.open(rtsFile, FileMode.WRITE);
rtsStream.writeBytes(loader.data);
rtsStream.close();
}

还要澄清一下,我的程序是在 adobe air 中。因此它将作为桌面应用程序运行,而不是网页上的 Flash 对象。

最佳答案

您必须使用 URLStream 而不是 URLLoader:

var downloadStream:URLStream = new URLStream();
downloadStream.addEventListener(Event.COMPLETE, onDownloadComplete);
downloadStream.load(new URLRequest(url));

// ...

private function onDownloadComplete(event:Event):void
{
var bytes:ByteArray = new ByteArray();
downloadStream.readBytes(bytes);

try
{
// delete old file first
if (_saveToFile.exists)
{
_saveToFile.deleteFile();
}
_fs = new FileStream();
_fs.addEventListener(IOErrorEvent.IO_ERROR, onSaveFileIOError);
_fs.open(_saveToFile, FileMode.WRITE);
_fs.writeBytes(bytes);
_fs.close();

_fs.removeEventListener(IOErrorEvent.IO_ERROR, onSaveFileIOError);
}
catch (error:Error)
{
trace("could not write file to local machine");
}
}

我只是从我的一个类中复制并粘贴了一些代码。不是 100% 完成,但应该为您指明正确的方向...

关于flash - 保存没有文件引用的下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8359107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com