0
您好我需要有關如何下載JPEG圖像的一些指導通過一個URL地址,並使用動作腳本保存到本地磁盤3.下載並保存JPEG與動作腳本3
大部分找到了解決方案IV的要求JPEG編碼庫,但我不明白爲什麼我必須編碼任何東西。該文件已經是JPGE格式,爲什麼我需要將它作爲BitmapData下載才能使用一些龐大的JPEG編碼類在我將其保存到光盤之前再次將其重新轉換爲JPEG格式?
我需要一個繞過這種無效方法的解決方案。
您好我需要有關如何下載JPEG圖像的一些指導通過一個URL地址,並使用動作腳本保存到本地磁盤3.下載並保存JPEG與動作腳本3
大部分找到了解決方案IV的要求JPEG編碼庫,但我不明白爲什麼我必須編碼任何東西。該文件已經是JPGE格式,爲什麼我需要將它作爲BitmapData下載才能使用一些龐大的JPEG編碼類在我將其保存到光盤之前再次將其重新轉換爲JPEG格式?
我需要一個繞過這種無效方法的解決方案。
你不需要。
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,以便在需要時也可以顯示圖像。
謝謝Apocalyptic0n3。目前看起來不錯,但我沒有實施保存文件的最後一部分解決方案。你能完成它嗎? – user2363863 2013-05-08 21:59:15
如果這是網絡的SWF,請使用'FileReference.save(bytes,「filename.jpg」)'。如果這是一個AIR應用程序,則可以將'FileStream.writeBytes(bytes)'與'File'結合使用,但您應該也可以使用FileReference,它可以讓用戶選擇將文件保存在他們想要的位置。除此之外,做一些搜索。這方面有很多詳細的例子。 – 2013-05-08 22:04:27
我試圖使用FileReference,但我的代碼導致「保存文件框」,供用戶指定文件的放置位置。我需要代碼將文件自動保存在fla文件的相同位置,無需用戶輸入。 – user2363863 2013-05-08 22:15:07