2 skyshuai1 skyshuai1 于 2015.06.17 13:36 提问

如何判断压缩文件的文件类型
        判断压缩文件的类型。我用了ContentType,输出他的ContentType为null。用文件头判断只有rar和zip,不全面。
        还有什么方法能判断出他的类型呢?要准确,还能判断出各种压缩文件类型。

4个回答

u011376884
u011376884   2015.06.17 13:45

拿文件名取后缀判断不行吗?

skyshuai1
skyshuai1 当然不行!后缀名要是改变了不就错了,目的是准确。和文件头判断一样,就算后缀名改了也能判断出最初的类型。
大约 3 年之前 回复
xuzuning
xuzuning   Ds   Rxr 2015.06.17 14:02

可通过文件头中的标识进行识别

7z 377ABCAF271C

tar.z 1FA0

gz 1F8B08

zip 504B0304140000

rar 526172211A0700

tar.bz2 425A68

bz2 425A68

等等

skyshuai1
skyshuai1 文件头不全啊,我需要判断所有压缩文件类型,而且gz、bz2还判断不出来
大约 3 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.06.17 14:33

其他文件类型就需要一个个特别处理了
比如你分析7zip的压缩方式,然后得到一个识别的pattern

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.18 23:31
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JAVA 程序中如何实现对RAR压缩包文件中文件格式的判断?
JAVA中使用java.util.zip.ZipOutputStream在对文件进行压缩时,将把每一个文件实体封装为java.util.zip.ZipEntry,反之,在使用java.util.zip.ZipInputStream在对文件进行解压缩时,每个文件的访问也是通过访问ZipEntry对象来操作的,可以通过ZipEntry对象的getName()来得到当初压缩时对该文件的命名(通常为该文件
C#判断文件的真正类型,不根据扩展名判断
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Style
java 根据头文件码判断文件类型
<br />package com; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public
html5 上传压缩文件类型限制解决方案
需求场景:利用input 上传文件,限制文件类型为zip,或者rar压缩包类型。①尝试通过accept限制,发现除了zip和rar文件,excel,doc等文件也能选择。②于是,解决方案是通过对文件名的判断,增加一层过滤,代码如下html代码:au-upload(@change=&quot;changeCompress&quot;,accept=&quot;application/x-zip-compressed,applic...
如何判断一个(压缩)文件的类型,以及zcat/gzcat
恰似“一师是个好学校”,dd是个好工具——只消用它逐字copy出某个文件第一个block的内容,就可以判断出该文件的类型!!!bjbldd>1> dd if=MMEgolden.tar bs=512 count=1 > dd_tmp 1+0 records in 1+0 records out bjbldd>> file dd_tmp dd_tmp: USTAR tar archive bjbldd>> dd if=varofvar bs=512 count=1 > dd_tmp
java上传文件以流方式判断类型
public enum FileType { /** * JEPG. */ JPEG("FFD8FF"), /** * PNG. */ PNG("89504E47"), /**
linux通过if判断是否压缩文件和文件夹
linux通过if判断是否压缩文件和文件夹
Android:文件按类型打开和压缩解压
Android:文件按类型打开和压缩解压
php上传文件文件类型的判断方法
根据扩展名判断类型的弊端         正如我刚开始接触 php 一样,我们许多人在使用 php 进行文件的上传和存储时,都会给文件进行重名命并保存到可写文件夹下,然后我们在其中一个失误的地方便是采用上传文件的扩展名作为判断文件类型的依据。这样做其实与后门大开无异,举一个简单的例子,通过扩展名判断一般是字符串的截取判断,或者是使用$_FILE数组判断,然后如果用户上传的文件名为 image.p
<input type="file" >判断上传的文件是zip和rar类型
&nbsp;                           &nbsp;           请选择上传的文件:                                     注:文件大小请控制在10M以内。                                       &nbsp;