专利名称:一种批量解压缩swf文件的方法
技术领域:
本发明涉及互联网应用技术领域,尤其涉及一种批量解压缩SWf文件的方法。
背景技术:
目前需要对swf文件修改时,通常需要先对压缩过的swf解压缩后才能修改或编辑。在现有的技术当中,如果需要对SWf文件解压缩的话,通常是在本地利用软件直接对SWf文件解压缩,或自行编写一个SWf 程序,用该程序在本地对文件解压缩。而如果需要对多个SWf文件进行解压缩处理的话,现有技术中都是对每一个SWf文件分别处理; 这种单个本地处理方式,如果在需要处理的文件只有几个的情况下还是可以接受的,但如果需要处理大批量的文件(比如几十个甚至几百个甚至更多)的情况下,此种单个处理SWf文件的方式就显得太费时费力了。
发明内容
本发明的目的在于提供一种批量解压缩swf文件的方法,从而解决现有技术中存在的前述问题。为了实现上述目的,本发明采用的技术方案如下一种批量解压缩swf文件的方法,包括以下步骤SI,接收请求端上传的源swf文件集合,所述源swf文件集合包括一个以上的源SWf文件;S2,依次判断所述源swf文件集合中的各个所述源swf文件是否已经被压缩过;如果判断为已经被压缩过,则执行S3 ;如果判断为没有被压缩过,则继续对下一个所述源SWf文件进行判断,直到判断完毕所述源SWf 文件集合中的所有所述源SWf文件,然后执行S4 ;S3,对已经被压缩过的所述源SWf文件进行解压缩处理,解压缩完毕后继续对下一个已经被压缩过的所述源SWf文件进行解压缩处理,直到处理完毕所述源SWf文件集合中的所有已经被压缩过的所述源SWf文件;然后执行S4 ;S4,将经S2判断为没有被压缩过的所述源swf文件和经S3解压缩处理过并生成的目标SWf文件发送至所述请求端。优选的,SI和S2之间还包括以下步骤为接收到的所述源swf文件集合中的各个所述swf文件分配顺序编号;按照所述顺序编号依次处理各个所述源swf文件。优选的,S2具体包括以下步骤S21,根据所述顺序编号确定当前需要处理的源swf文件;S22,以二进制流方式读取所述当前需要处理的源swf文件;S23,解析所述当前需要处理的源swf文件的文件头,得到文件头信息;S24,如果所述文件头信息中的前三个字节为“CWS”,则确定所述文件头信息所对应的源SWf文件是已经被压缩过的源SWf文件;如果所述文件头信息中的前三个字节为“FWS”,则确定所述文件头信息所对应的源swf文件是没有被压缩过的源swf文件。优选的,S3具体包括以下步骤S31,将需要解压缩的源swf文件中从第九个字节到所述源swf文件尾的全部内容读入到内存中;S32,调用zlib库的解压缩函数uncompress,对所述读入到内存中的内容进行解压缩处理;S33,解压缩处理完毕后,将解压缩后得到的内容与所述第九个字节之前的字节合并,同时将最前边的三个字节修改为“FWS”,最终得到完整的经过解压缩的目标swf文件。优选的,S4具体包括以下步骤
S41,将经S2判断为没有被压缩过的所述源swf文件和经S3解压缩处理过并生成的目标swf文件打包成一个文件压缩包;S42,将所述文件压缩包发送至所述请求端。优选的,所述文件压缩包为zip压缩包。优选的,在SI前还包括以下步骤接收包含有多个所述源swf文件的文件压缩包;解压缩所述文件压缩包,得到所述源swf文件集合。优选的,所述文件压缩包为zip压缩包。本发明的有益效果是本发明将解压缩处理过程从本地移至服务器中执行,并加以批处理策略,从而实现了批量的快速的解压缩swf文件的目的,通过本发明所提供的技术方案可以快速的对大量SWf文件进行解压缩处理,提高了工作效率;解压缩处理过的swf文件,可以直接对其进行修改等操作;另外由于解压缩过程是在服务器中执行,所以可以处理多个请求端的请求,从而提高了服务器的资源使用率,减少了服务器资源闲置浪费的时间。
图I是本发明的步骤流程图。
具体实施例方式为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式
仅仅用以解释本发明,并不用于限定本发明。如图I所示,本发明的批量解压缩swf文件的方法,包括以下步骤SI,接收请求端上传的源swf文件集合,所述源swf文件集合包括一个以上的源SWf文件;为了提高源SWf文件的上传速度,在上传前还可以把需要上传的源SWf文件打包成一个Zip文件包,批处理服务器接收到所述Zip文件包后,将其解压缩,得到源SWf文件集合。然后为接收到的所述源SWf文件集合中的各个所述SWf文件分配顺序编号;按照所述顺序编号依次处理各个所述源SWf文件。
S2,依次判断所述源swf文件集合中的各个所述源swf文件是否已经被压缩过;如果判断为已经被压缩过,则执行S3 ;如果判断为没有被压缩过,则继续对下一个所述源SWf文件进行判断,直到判断完毕所述源SWf 文件集合中的所有所述源SWf文件,然后执行S4 ;
具体的,S2又包括以下步骤S21,根据所述顺序编号确定当前需要处理的源swf文件;S22,以二进制流方式读取所述当前需要处理的源swf文件;S23,解析所述当前需要处理的源swf文件的文件头,得到文件头信息;S24,如果所述文件头信息中的前三个字节为“CWS”,则确定所述文件头信息所对应的源swf文件是已经被压缩过的源swf文件;如果所述文件头信息中的前三个字节为“FWS”,则确定所述文件头信息所对应的源swf文件是没有被压缩过的源swf文件。S3,对已经被压缩过的所述源swf文件进行解压缩处理,解压缩完毕后继续对下一个已经被压缩过的所述源SWf文件进行解压缩处理,直到处理完毕所述源SWf文件集合中的所有已经被压缩过的所述源SWf文件;然后执行S4 ;S3具体包括以下步骤S31,将需要解压缩的源swf文件中从第九个字节到所述源swf文件尾的全部内容读入到内存中;S32,调用zlib库的解压缩函数uncompress,对所述读入到内存中的内容进行解压缩处理;S33,解压缩处理完毕后,将解压缩后得到的内容与所述第九个字节之前的字节合并,同时将最前边的三个字节修改为“FWS”,最终得到完整的经过解压缩的目标swf文件。S4,将经S2判断为没有被压缩过的所述源swf文件和经S3解压缩处理过并生成的目标swf文件发送至所述请求端。S4具体包括以下步骤S41,将经S2判断为没有被压缩过的所述源swf文件和经S3解压缩处理过并生成的目标swf文件打包成一个zip压缩包;S42,将所述zip压缩包文件发送至所述请求端。这样可以提高文件的发送速度。当然S4中也可以是请求端从所述批处理服务器下载所述zip压缩文件。通过采用本发明公开的上述技术方案,得到了如下有益的效果本发明将解压缩处理过程从本地移至服务器中执行,并加以批处理策略,从而实现了批量的快速的解压缩swf文件的目的,通过本发明所提供的技术方案可以快速的对大量SWf文件进行解压缩处理,提高了工作效率;解压缩处理过的swf文件,可以直接对其进行修改等操作;另外由于解压缩过程是在服务器中执行,所以可以处理多个请求端的请求,从而提高了服务器的资源使用率,减少了服务器资源闲置浪费的时间。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1.一种批量解压缩SWf文件的方法,其特征在于,包括以下步骤 SI,接收请求端上传的源swf文件集合,所述源SWf文件集合包括一个以上的源SWf文件; S2,依次判断所述源swf文件集合中的各个所述源swf文件是否已经被压缩过; 如果判断为已经被压缩过,则执行S3 ;如果判断为没有被压缩过,则继续对下一个所述源swf文件进行判断,直到判断完毕所述源swf 文件集合中的所有所述源swf 文件,然后执行S4 ; S3,对已经被压缩过的所述源swf文件进行解压缩处理,解压缩完毕后继续对下一个已经被压缩过的所述源swf文件进行解压缩处理,直到处理完毕所述源swf文件集合中的所有已经被压缩过的所述源swf文件;然后执行S4 ; S4,将经S2判断为没有被压缩过的所述源swf文件和经S3解压缩处理过并生成的目标swf文件发送至所述请求端。
2.根据权利要求I所述的批量解压缩swf文件的方法,其特征在于,SI和S2之间还包括以下步骤 为接收到的所述源swf文件集合中的各个所述swf文件分配顺序编号; 按照所述顺序编号依次处理各个所述源swf文件。
3.根据权利要求I所述的批量解压缩swf文件的方法,其特征在于,S2具体包括以下步骤 S21,根据所述顺序编号确定当前需要处理的源swf 文件; S22,以二进制流方式读取所述当前需要处理的源swf文件; S23,解析所述当前需要处理的源swf文件的文件头,得到文件头信息; S24,如果所述文件头信息中的前三个字节为“CWS”,则确定所述文件头信息所对应的源swf文件是已经被压缩过的源swf文件;如果所述文件头信息中的前三个字节为“FWS”,则确定所述文件头信息所对应的源swf文件是没有被压缩过的源swf文件。
4.根据权利要求I所述的批量解压缩swf文件的方法,其特征在于,S3具体包括以下步骤 S31,将需要解压缩的源swf文件中从第九个字节到所述源swf文件尾的全部内容读入到内存中; S32,调用zlib库的解压缩函数uncompress,对所述读入到内存中的内容进行解压缩处理; S33,解压缩处理完毕后,将解压缩后得到的内容与所述第九个字节之前的字节合并,同时将最前边的三个字节修改为“FWS”,最终得到完整的经过解压缩的目标swf文件。
5.根据权利要求1-4任一所述的批量解压缩swf文件的方法,其特征在于,S4具体包括以下步骤 S41,将经S2判断为没有被压缩过的所述源swf文件和经S3解压缩处理过并生成的目标SWf文件打包成一个文件压缩包; S42,将所述文件压缩包发送至所述请求端。
6.根据权利要求5所述的批量解压缩swf 文件的方法,其特征在于,所述文件压缩包为zip压缩包。
7.根据权利要求1-4任一所述的批量解压缩swf文件的方法,其特征在于,在SI前还包括以下步骤 接收包含有多个所述源SWf文件的文件压缩包; 解压缩所述文件压缩包,得到所述源SWf文件集合。
8.根据权利要求7所述的批量解压缩swf文件的方法,其特征在于,所述文件压缩包为zip压缩包。
全文摘要
一种批量解压缩swf文件的方法,包括以下步骤S1,接收请求端上传的源swf文件集合,所述源swf文件集合包括一个以上的源swf文件;S2,依次判断所述源swf文件集合中的各个所述源swf文件是否已经被压缩过;如果判断为已经被压缩过,则执行S3;如果判断为没有被压缩过,则继续对下一个所述源swf文件进行判断;S3,对已经被压缩过的所述源swf文件进行解压缩处理,解压缩完毕后继续对下一个已经被压缩过的所述源swf文件进行解压缩处理;S4,将经S2判断为没有被压缩过的所述源swf文件和经S3解压缩处理过并生成的目标swf文件发送至所述请求端,提高了工作效率。
文档编号H04L29/06GK102752312SQ20121024780
公开日2012年10月24日 申请日期2012年7月17日 优先权日2012年7月17日
发明者许建彬 申请人:厦门游家网络有限公司