使用AdobeAIR下载并存储多个文件(FlashCS4dev)

使用AdobeAIR下载并存储多个文件(FlashCS4dev),air,adobe,flash-cs4,download,amfphp,Air,Adobe,Flash Cs4,Download,Amfphp,如何从服务器下载多个图像并将其存储在Adobe AIR Flash IDE的应用程序目录中 具体地说,我正在使用AMFPHP从数据库中提取路径并将其下载到应用程序目录。如果我没有弄错,您正在尝试使用AIR应用程序下载一些图像,并将这些图像放在Flash CS4的文件夹中 如果是这样的话,这取决于你的操作系统,所以你需要确保你的路径是正确的。执行if/else并检查是否存在systrayIcon或dockIcon 你可以用多种方法解决这个问题 您可以使用AIR附带的文件API将文件保存到正确位置的

如何从服务器下载多个图像并将其存储在Adobe AIR Flash IDE的应用程序目录中


具体地说,我正在使用AMFPHP从数据库中提取路径并将其下载到应用程序目录。

如果我没有弄错,您正在尝试使用AIR应用程序下载一些图像,并将这些图像放在Flash CS4的文件夹中

如果是这样的话,这取决于你的操作系统,所以你需要确保你的路径是正确的。执行if/else并检查是否存在systrayIcon或dockIcon

你可以用多种方法解决这个问题

您可以使用AIR附带的文件API将文件保存到正确位置的磁盘上,或者保存到临时位置,然后将其复制到flash文件夹中

您可以使用AIR将下载的文件写入磁盘,编写一个小的JSFL脚本并动态调用它。 比如:

var jsfl:String = 'var files = [';

for(var i:int = 0 ; i < downloadedFiles.length; i++){
 if(i < downloadedFiles.length-1) jsfl += '"'+downloadedFiles[i]+'",';
 else         jsfl += '"'+downloadedFiles[i]+'"];\n';
}

jsfl += 'for(var i = 0 ; i < files.length; i++ ){\n';
jsfl += '\tFLfile.copy(files[i],fl.configURI+'StockImages/'+files[i].substr(files[i].lastIndexOf('/')+1));\n}';
var-jsfl:String='var-files=[';
对于(var i:int=0;i
我假设downloadedFiles是存储写入图像路径的数组的名称。这将产生一个jsfl脚本,如:

var files = ["file:///path/file_01.jpg","file:///path/file_02.jpg","file:///path/file_03.jpg"];

for(var i = 0 ; i < files.length; i++ ){
 FLfile.copy(files[i],fl.configURI+'StockImages/'+files[i].substr(files[i].lastIndexOf('/')+1));
}
var文件=[”file:///path/file_01.jpg","file:///path/file_02.jpg","file:///path/file_03.jpg"];
对于(var i=0;i
这会将图像复制到mac os上接近/Users/{username}/Library/Application Support/Adobe/Flash CS3或FlashCS4/{language}/Configuration/StockImages/的位置 和/Users/{username}/Local Settings/Application Data/Adobe/Flash CS3 或windows上的FlashCS4/{language}/Configuration/StockImages/ 然后可以使用jsfl文件的路径作为参数调用Flash

另一个选项是编写一个命令行工具,它接收两个参数:一些二进制数据和一个文件路径(字符串)

然后,您可以编写一个Flash面板(一个进行jsfl调用并保存在WindowSWF文件夹中的swf),使用as3加载图像并调用命令行工具将其写入磁盘。 您可以使用未记录的文档来执行此操作

选项取决于您使用AIR/JSFL/其他语言编写命令行工具的舒适程度

我不确定这一切的结果是什么。。。也许有更简单的方法