2009-11-21 125 views

回答

1

如果我有這個權利,你試圖用AIR應用程序下載一些圖像,並把圖片放在Flash CS4的文件夾中?

如果是這樣,它取決於你的操作系統,所以你需要確保你的路徑正確。做一個if/else並檢查systrayIcon或dockIcon。

你可以通過多種方式解決。

您可以使用AIR附帶的File 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}'; 

我假設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)); 
} 

這應該將圖像複製到一些接近/ Users/{用戶名}/Library /應用程序支持/使用Adobe/Flash CS3中或FlashCS4/{語言} /配置/ StockImages /在mac os上 和/用戶/ {用戶名} /本地設置/應用程序數據/ Adob​​e/Flash CS3 或FlashCS4/{language}/Configuration/StockImages /在windows上 然後,您可以調用帶有jsfl文件作爲參數。

另一種選擇是寫一個命令行工具,接受2個參數:一些二進制數據和文件路徑(字符串)

然後,您可以編寫Flash面板(SWF文件,使JSFL電話和住在WindowSWF文件夾)並使用as3加載圖像並調用命令行工具將它們寫入磁盤。 您可以使用未記錄的FLfile.runCommandLine來做到這一點。

這些選項取決於您使用AIR/JSFL /某種其他語言編寫命令行工具的舒適程度。

我不確定這一切的結果是什麼...可能有更簡單的方法。

相關問題