2013-05-08 60 views
0

您好我需要有關如何下載JPEG圖像的一些指導通過一個URL地址,並使用動作腳本保存到本地磁盤3.下載並保存JPEG與動作腳本3

大部分找到了解決方案IV的要求JPEG編碼庫,但我不明白爲什麼我必須編碼任何東西。該文件已經是JPGE格式,爲什麼我需要將它作爲BitmapData下載才能使用一些龐大的JPEG編碼類在我將其保存到光盤之前再次將其重新轉換爲JPEG格式?

我需要一個繞過這種無效方法的解決方案。

回答

2

你不需要。

var stream:URLStream = new URLStream(); 
stream.addEventListener(Event.COMPLETE, completeHandler); 
stream.load("URL TO JPG"); 

function completeHandler(e:Event):void { 
    var bytes:ByteArray = new ByteArray(); 
    stream.readBytes(bytes); 

    // use either FileStream or FileReference to save the byte array 
} 

當您將JPG加載到BitmapData時,它實際上會解壓縮JPG數據。所以這就是爲什麼你不能直接保存它的原因...... JPG不再是JPG,它是一個未壓縮的位圖。您還可以直接從ByteArray加載BitmapData,以便在需要時也可以顯示圖像。

+0

謝謝Apocalyptic0n3。目前看起來不錯,但我沒有實施保存文件的最後一部分解決方案。你能完成它嗎? – user2363863 2013-05-08 21:59:15

+0

如果這是網絡的SWF,請使用'FileReference.save(bytes,「filename.jpg」)'。如果這是一個AIR應用程序,則可以將'FileStream.writeBytes(bytes)'與'File'結合使用,但您應該也可以使用FileReference,它可以讓用戶選擇將文件保存在他們想要的位置。除此之外,做一些搜索。這方面有很多詳細的例子。 – 2013-05-08 22:04:27

+0

我試圖使用FileReference,但我的代碼導致「保存文件框」,供用戶指定文件的放置位置。我需要代碼將文件自動保存在fla文件的相同位置,無需用戶輸入。 – user2363863 2013-05-08 22:15:07