你好,我是来自韩国的Leo Hyun。
所以我想使用AIR制作下载程序。 我的网络服务器有一些文件。 我想下载该文件并保存我的桌面而不保存对话框。 我不知道如何解决它。实际上我只是AIR的初学者。
我正在使用Flash Builder 4& Flex 4.0& AIR 2.0。
有人帮我PLZ!
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="startApp();">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import flash.net.FileReference;
private var fr:FileReference;
private var urlRequest:URLRequest;
private var downloadPDFFile:String="<!--MY WEB SERVER LOCATIONS-->/TEST.pdf";
private function startApp():void
{
fr = new FileReference();
urlRequest = new URLRequest();
}
private function DownloadFile():void
{
urlRequest.url = downloadPDFFile;
fr.download(urlRequest);
}
protected function btnDownload_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
DownloadFile();
}
]]>
</fx:Script>
<mx:Button verticalCenter="0" horizontalCenter="0" label="Download File ASD" id="btnDownload" click="btnDownload_clickHandler(event)"/>
</s:WindowedApplication>
答案 0 :(得分:0)
使用URLLoader
或HTTPService
加载文件内容,并使用File和FileStream类将其写入您选择的文件。注意不要覆盖用户自己的文件。
//inside complete handler of the loader:
var file:File = File.documentsDirectory.resolvePath("test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF(str);
fileStream.close();