專利名稱:批量提取swf文件中的jpg圖片和mp3文件的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種批量提取SWf文件中的jpg圖片和mp3文件的方法。
背景技術(shù):
出于編輯、修改等目的,經(jīng)常需要從swf文件中提取出其包含的jpg圖片和mp3文件。但是現(xiàn)有技術(shù)中,還沒有一種能夠從swf文件中完整的提取所有jpg圖片和mp 3文件的工具,而當(dāng)使用者需要從一個swf文件中提取一個jpg圖片或一個mp3文件時通常是針對特定的swf文件,自行編寫一個swf程序,用該程序在本地對swf文件進行處理,從 而提取其中的jpg圖片或mp3文件。但如果需要對多個swf文件進行提取的話,只能一個一個的單獨處理;這種單個本地處理方式,如果在需要處理的文件只有幾個的情況下還是可以接受的,但如果需要處理大批量的文件(比如幾十個甚至幾百個甚至更多)的情況下,此種單個處理swf文件的方式就顯得太費時費力了。而且這種自行編寫的程序無法應(yīng)對所有的swf文件,所以其具有很大的局限性,無法批量應(yīng)用,并且對提取出的文件的完整性也無法保證。swf文件即以“ swf”結(jié)尾的文件,Swf即“shock wave flash”的縮寫,是Macromedia (現(xiàn)已被ADOBE公司收購)公司的動畫設(shè)計軟件Flash的專用格式,是一種支持矢量和點陣圖形的動畫文件格式,被廣泛應(yīng)用于網(wǎng)頁設(shè)計,動畫制作等領(lǐng)域。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種可以批量提取多個swf文件中的jpg圖片和mp3文件的方法,從而解決現(xiàn)有技術(shù)中存在的前述問題。為了實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下一種批量提取swf文件中的jpg圖片和mp3文件的方法,包括以下步驟SI,接收請求端上傳的源swf文件集合,所述源swf文件集合包括一個以上的源SWf文件;S2,以二進制流方式讀取所述源swf文件集合中的一個源swf文件;S3,解析S2中讀取到的所述源SWf文件的文件頭,得到文件頭信息;S4,根據(jù)所述文件頭信息,解析所述源swf文件中的所有標簽,得到所有標簽信息;S5,依次判斷所述所有標簽的類型,如果所述標簽的類型為DefineBitsJPEG2,則提取所述標簽中的jpg圖片數(shù)據(jù),并將所述jpg圖片數(shù)據(jù)保存為jpg文件;如果所述標簽的類型為DefineSound,則提取所述標簽中的mp3音頻數(shù)據(jù),并將所述mp3音頻數(shù)據(jù)保存為mp3文件;如果所述標簽的類型為End標簽,則執(zhí)行下一步;
S6,重復(fù)S2-S5,直到處理完畢所述源swf文件集合中的所有源swf文件,然后結(jié)束。優(yōu)選的,S3和S4之間還有以下步驟根據(jù)所述文件頭信息,判斷所述源swf文件是否被壓縮過;如果被壓縮過,則先對其解壓縮后再進行下一步;如果沒有被壓縮過,則直接進行下一步。優(yōu)選的,所述jpg圖片數(shù)據(jù)是所述類型為DefineBitsJPEG2的標簽中的ImageData標簽中的數(shù)據(jù)。優(yōu)選的,所述mp3音頻數(shù)據(jù)是所述類型為DefineSound的標簽中的SoundData標簽中的數(shù)據(jù)。優(yōu)選的,S5中將所述jpg文件和mp3文件保存到與所述源swf文件同級的result文件夾中。優(yōu)選的,S6后還包括如下步驟S7,將保存的所述jpg文件和mp3文件直接發(fā)送給所述請求端和/或?qū)⒈4娴乃鰆 Pg文件和mp3文件打包后發(fā)送給所述請求端。本發(fā)明的有益效果是對多swf文件同時處理,大大減少了工作時間、提高了工作效率;可設(shè)置于服務(wù)器中,由服務(wù)器處理多個請求端的請求,從而提高了服務(wù)器的資源使用率,減少了服務(wù)器資源閑置浪費的時間;由于可以設(shè)置于服務(wù)器中,從而也方便了以后維護和升級。
圖I是本明的步驟流程圖。
具體實施例方式為了使本發(fā)明所解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施方式
僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。swf文件結(jié)構(gòu),如下表
權(quán)利要求
1.一種批量提取SWf文件中的jpg圖片和mp3文件的方法,其特征在于,包括以下步驟 SI,接收請求端上傳的源swf文件集合,所述源swf文件集合包括一個以上的源swf文件; S2,以二進制流方式讀取所述源swf文件集合中的一個源swf文件; S3,解析S2中讀取到的所述源swf文件的文件頭,得到文件頭信息; S4,根據(jù)所述文件頭信息,解析所述源swf文件中的所有標簽,得到所有標簽信息; S5,依次判斷所述所有標簽的類型,如果所述標簽的類型為DefineBitsJPEG2,則提取所述標簽中的jpg圖片數(shù)據(jù),并將所述jpg圖片數(shù)據(jù)保存為jpg文件;如果所述標簽的類型為DefineSound,則提取所述標簽中的mp3音頻數(shù)據(jù),并將所述mp3音頻數(shù)據(jù)保存為mp3文件;如果所述標簽的類型為End標簽,則執(zhí)行下一步; S6,重復(fù)S2-S5,直到處理完畢所述源swf文件集合中的所有源swf文件,然后結(jié)束。
2.根據(jù)權(quán)利要求I所述的批量提取swf文件中的jpg圖片和mp3文件的方法,其特征在于,S3和S4之間還有以下步驟 根據(jù)所述文件頭信息,判斷所述源swf 文件是否被壓縮過;如果被壓縮過,則先對其解壓縮后再進行下一步;如果沒有被壓縮過,則直接進行下一步。
3.根據(jù)權(quán)利要求I所述的批量提取swf文件中的jpg圖片和mp3文件的方法,其特征在于,所述jpg圖片數(shù)據(jù)是所述類型為DefineBitsJPEG2的標簽中的ImageData標簽中的數(shù)據(jù)。
4.根據(jù)權(quán)利要求I所述的批量提取swf文件中的jpg圖片和mp3文件的方法,其特征在于,所述mp3音頻數(shù)據(jù)是所述類型為DefineSound的標簽中的SoundData標簽中的數(shù)據(jù)。
5.根據(jù)權(quán)利要求I所述的批量提取swf文件中的jpg圖片和mp3文件的方法,其特征在于,S5中將所述jpg文件和mp3文件保存到與所述源swf文件同級的result文件夾中。
6.根據(jù)權(quán)利要求I所述的批量提取swf文件中的jpg圖片和mp3文件的方法,其特征在于,S6后還包括如下步驟 S7,將保存的所述jpg文件和mp3文件直接發(fā)送給所述請求端和/或?qū)⒈4娴乃鰆pg文件和mp3文件打包后發(fā)送給所述請求端。
全文摘要
一種批量提取swf文件中的jpg圖片和mp3文件的方法,包括步驟S1,接收請求端上傳的源swf文件集合;S2,以二進制流方式讀取所述源swf文件集合中的一個源swf文件;S3,解析S2中讀取到的所述源swf文件的文件頭,得到文件頭信息;S4,根據(jù)所述文件頭信息,解析所述源swf文件中的所有標簽,得到所有標簽信息;S5,依次判斷所述所有標簽的類型,如果所述標簽的類型為DefineBitsJPEG2,則提取所述標簽中的jpg圖片數(shù)據(jù),并將所述jpg圖片數(shù)據(jù)保存為jpg文件;如果所述標簽的類型為DefineSound,則提取所述標簽中的mp3音頻數(shù)據(jù),并將所述mp3音頻數(shù)據(jù)保存為mp3文件;如果所述標簽的類型為End標簽,則執(zhí)行下一步;S6,重復(fù)S2-S5,直到處理完畢所述源swf文件集合中的所有源swf文件,然后結(jié)束。
文檔編號G06F17/30GK102799672SQ20121024797
公開日2012年11月28日 申請日期2012年7月17日 優(yōu)先權(quán)日2012年7月17日
發(fā)明者馬華亨 申請人:廈門游家網(wǎng)絡(luò)有限公司