Base64編碼的字符串與圖片的互轉

用Flex寫了一個例子,圖片(暫時僅支持png、jpg/jpeg)轉成base64編碼的字符串(默認取上傳文件的後綴名,然後添加了“data:image/(png|gif|jpg|jpeg);base64,”)

可以直接複製出編碼後的字符串,在網頁中使用<img src=”copy得到的字符串” />就可以預覽效果了

在另一個輸入框中,輸入base64編碼格式的字符串,點擊解碼,會解析得到相應的圖片(不過程序默認將jpg的質量爲100進行轉換--普通使用的是60),可以選擇保存解碼出來後的圖片

(解碼一次只能點擊一次保存,這裏似乎有bug,有空再研究)

唯一不太靠譜的是:在解碼之後加載圖片,沒有什麼好的屬性或是方法直接獲取Image對象它的文件格式(後綴),所以在選擇保存文件時,可能存在問題。代碼中是直接寫死了對應的一個值(在網上搜索byteArray得到真實的文件類型,但文章中沒有指出什麼值對應的是png或是jpg)。不過測試下來基本是符合預期的,如果機器配置不高,不建議上傳大文件進行測試 :)

程序在本地debug出來的結果如下圖:

一個是正向編碼,一個是反向根據解析字符串得到byteArray,然後使用圖片加載它,具體實現可以參考代碼(就一個主mxml文件,其它的包其實可以使用flex自帶的)

下載地址>>

下載完成後,解壓可找到文件夾的目錄“bin-release”,然後直接運行“Base64toImage.swf”--可能提示需要訪問本地資源,可以到adobe官網上去設置flash可允許訪問的系統盤符。設置完成後,在bin-release目錄中找到srcview目錄,雙擊裏面的inidex.html可瀏覽整個源碼

在線演示地址:http://1.meteoric.sinaapp.com/Base64toImage.swf

或是這裏:http://drmcmm.baidu.com/media/id=n1DsP1c1nWf&gp=401&time=nHnkPjc1PWfknf.swf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章