我有一個磁盤陣列和圖像的17個網絡鏈接保存一個功能多張圖片 - AS3 ADOBE AIR
var products:Array;
trace(products)
// Ouput :
"http://www.myWebsite.com/zootopia.jpg"
"http://www.myWebsite.com/james.jpg"
"http://www.myWebsite.com/tom.jpg"
..etc
如果我做products[10].movieimage;
輸出將是第9個鏈接(喜歡的東西:"http://www.myWebsite.com/lalaland.jpg"
)
我正在尋找下載沒有對話框的每個圖像。
我設法與特定鏈接1個圖像這樣做,這樣的:
function saveImage (event:Event):void {
var stream:URLStream = new URLStream();
var image1:File = File.documentsDirectory.resolvePath("test.jpg");
var fileStream:FileStream = new FileStream();
stream.load(new URLRequest("http://www.myWebsite.com/lalaland.jpg"));
stream.addEventListener(Event.COMPLETE, writeComplete);
function writeComplete(evt:Event):void {
var fileData:ByteArray = new ByteArray();
stream.readBytes(fileData,0,stream.bytesAvailable);
fileStream.openAsync(image1, FileMode.UPDATE);
fileStream.writeBytes(fileData,0,fileData.length);
fileStream.close();
trace("writeComplete");
trace(image1.url);
}
}
問:是否有一種方法來下載所有與我products
陣列的網絡鏈接的圖片?(如果已經存在的圖像,替換它們。我可以用if (image1.exists){
if (image2.exists){
...等爲每個圖像,但也許有一個simplier溶液)
如果你能告訴我怎麼樣,有一些代碼,我可以那。
另外請注意,我想,然後加載圖像Uiloader
,像:
function loadImages():void {
uiloader1.source = image1.url;
uiloader2.source = image2.url;
etc...
}
我覺得'For'循環可能會幫助您在多次迭代中執行**重複指令**(_ie:_圖片總數)。請參閱[** Adobe文章**](http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/loops.html)。當卡住並顯示錯誤代碼時詢問此處。 –
Thx爲答案。我讀了這篇文章。它告訴我如何重複說明,但它不告訴我如何用不同的名稱保存每個圖像(如image1,然後是image2..etc)。因爲如果我做'while(products.movieimage <18){saveImage(); },因爲它每次都會重複saveImage函數並替換我的''test.jpg'「文件。 – Steph
只需創建一個'var num:int = 1;'然後當你做了IF語句時,你將num作爲函數變量'while(stuff <18){saveImage(num); }'然後在那個函數'saveImage'裏面,你說'filename =「image」+ String(num); num ++'其中'num ++'表示'num'的值在下次使用'{saveImage(num);'時增加+1。 }'...... –