文件头格式标准魔数-magic number和mime.types

该内容列举了不同文件类型的头部签名和对应的MIME类型,包括常见的文本、图像、音频、视频、压缩、文档等文件格式。这些信息对于文件识别、数据解析和内容处理至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2021年11月8日10:13:39

1,magic number

https://www.garykessler.net/library/file_sigs.html

这个文件头部,各种文件的默认数据格式

https://gist.github.com/Qti3e/6341245314bf3513abb080677cd1c93b

常用版本的json

{
    "123": {
        "signs": [
            "0,00001A00051004"
        ],
        "mime": "application/vnd.lotus-1-2-3"
    },
    "cpl": {
        "signs": [
            "0,4D5A",
            "0,DCDC"
        ],
        "mime": "application/cpl+xml"
    },
    "epub": {
        "signs": [
            "0,504B03040A000200"
        ],
        "mime": "application/epub+zip"
    },
    "ttf": {
        "signs": [
            "0,0001000000"
        ],
        "mime": "application/font-sfnt"
    },
    "gz": {
        "signs": [
            "0,1F8B08"
        ],
        "mime": "application/gzip"
    },
    "tgz": {
        "signs": [
            "0,1F8B08"
        ],
        "mime": "application/gzip"
    },
    "hqx": {
        "signs": [
            "0,28546869732066696C65206D75737420626520636F6E76657274656420776974682042696E48657820"
        ],
        "mime": "application/mac-binhex40"
    },
    "doc": {
        "signs": [
            "0,0D444F43",
            "0,CF11E0A1B11AE100",
            "0,D0CF11E0A1B11AE1",
            "0,DBA52D00",
            "512,ECA5C100"
        ],
        "mime": "application/msword"
    },
    "mxf": {
        "signs": [
            "0,060E2B34020501010D0102010102",
            "0,3C435472616E7354696D656C696E653E"
        ],
        "mime": "application/mxf"
    },
    "lha": {
        "signs": [
            "2,2D6C68"
        ],
        "mime": "application/octet-stream"
    },
    "lzh": {
        "signs": [
            "2,2D6C68"
        ],
        "mime": "application/octet-stream"
    },
    "exe": {
        "signs": [
            "0,4D5A"
        ],
        "mime": "application/octet-stream"
    },
    "class": {
        "signs": [
            "0,CAFEBABE"
        ],
        "mime": "application/octet-stream"
    },
    "dll": {
        "signs": [
            "0,4D5A"
        ],
        "mime": "application/octet-stream"
    },
    "img": {
        "signs": [
            "0,000100005374616E64617264204A6574204442",
            "0,504943540008",
            "0,514649FB",
            "0,53434D49",
            "0,7E742C015070024D52010000000800000001000031000000310000004301FF0001000800010000007e742c01",
            "0,EB3C902A"
        ],
        "mime": "application/octet-stream"
    },
    "iso": {
        "signs": [
            "32769,4344303031",
            "34817,4344303031",
            "36865,4344303031"
        ],
        "mime": "application/octet-stream"
    },
    "ogx": {
        "signs": [
            "0,4F67675300020000000000000000"
        ],
        "mime": "application/ogg"
    },
    "oxps": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/oxps"
    },
    "pdf": {
        "signs": [
            "0,25504446"
        ],
        "mime": "application/pdf"
    },
    "p10": {
        "signs": [
            "0,64000000"
        ],
        "mime": "application/pkcs10"
    },
    "pls": {
        "signs": [
            "0,5B706C61796C6973745D"
        ],
        "mime": "application/pls+xml"
    },
    "eps": {
        "signs": [
            "0,252150532D41646F62652D332E3020455053462D332030",
            "0,C5D0D3C6"
        ],
        "mime": "application/postscript"
    },
    "ai": {
        "signs": [
            "0,25504446"
        ],
        "mime": "application/postscript"
    },
    "rtf": {
        "signs": [
            "0,7B5C72746631"
        ],
        "mime": "application/rtf"
    },
    "tsa": {
        "signs": [
            "0,47"
        ],
        "mime": "application/tamp-sequence-adjust"
    },
    "msf": {
        "signs": [
            "0,2F2F203C212D2D203C6D64623A6D6F726B3A7A"
        ],
        "mime": "application/vnd.epson.msf"
    },
    "fdf": {
        "signs": [
            "0,25504446"
        ],
        "mime": "application/vnd.fdf"
    },
    "fm": {
        "signs": [
            "0,3C4D616B657246696C6520"
        ],
        "mime": "application/vnd.framemaker"
    },
    "kmz": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.google-earth.kmz"
    },
    "tpl": {
        "signs": [
            "0,0020AF30",
            "0,6D7346696C7465724C697374"
        ],
        "mime": "application/vnd.groove-tool-template"
    },
    "kwd": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.kde.kword"
    },
    "wk4": {
        "signs": [
            "0,00001A000210040000000000"
        ],
        "mime": "application/vnd.lotus-1-2-3"
    },
    "wk3": {
        "signs": [
            "0,00001A000010040000000000"
        ],
        "mime": "application/vnd.lotus-1-2-3"
    },
    "wk1": {
        "signs": [
            "0,0000020006040600080000000000"
        ],
        "mime": "application/vnd.lotus-1-2-3"
    },
    "apr": {
        "signs": [
            "0,D0CF11E0A1B11AE1"
        ],
        "mime": "application/vnd.lotus-approach"
    },
    "nsf": {
        "signs": [
            "0,1A0000040000",
            "0,4E45534D1A01"
        ],
        "mime": "application/vnd.lotus-notes"
    },
    "ntf": {
        "signs": [
            "0,1A0000",
            "0,30314F52444E414E43452053555256455920202020202020",
            "0,4E49544630"
        ],
        "mime": "application/vnd.lotus-notes"
    },
    "org": {
        "signs": [
            "0,414F4C564D313030"
        ],
        "mime": "application/vnd.lotus-organizer"
    },
    "lwp": {
        "signs": [
            "0,576F726450726F"
        ],
        "mime": "application/vnd.lotus-wordpro"
    },
    "sam": {
        "signs": [
            "0,5B50686F6E655D"
        ],
        "mime": "application/vnd.lotus-wordpro"
    },
    "mif": {
        "signs": [
            "0,3C4D616B657246696C6520",
            "0,56657273696F6E20"
        ],
        "mime": "application/vnd.mif"
    },
    "xul": {
        "signs": [
            "0,3C3F786D6C2076657273696F6E3D22312E30223F3E"
        ],
        "mime": "application/vnd.mozilla.xul+xml"
    },
    "asf": {
        "signs": [
            "0,3026B2758E66CF11A6D900AA0062CE6C"
        ],
        "mime": "application/vnd.ms-asf"
    },
    "cab": {
        "signs": [
            "0,49536328",
            "0,4D534346"
        ],
        "mime": "application/vnd.ms-cab-compressed"
    },
    "xls": {
        "signs": [
            "512,0908100000060500",
            "0,D0CF11E0A1B11AE1",
            "512,FDFFFFFF04",
            "512,FDFFFFFF20000000"
        ],
        "mime": "application/vnd.ms-excel"
    },
    "xla": {
        "signs": [
            "0,D0CF11E0A1B11AE1"
        ],
        "mime": "application/vnd.ms-excel"
    },
    "chm": {
        "signs": [
            "0,49545346"
        ],
        "mime": "application/vnd.ms-htmlhelp"
    },
    "ppt": {
        "signs": [
            "512,006E1EF0",
            "512,0F00E803",
            "512,A0461DF0",
            "0,D0CF11E0A1B11AE1",
            "512,FDFFFFFF04"
        ],
        "mime": "application/vnd.ms-powerpoint"
    },
    "pps": {
        "signs": [
            "0,D0CF11E0A1B11AE1"
        ],
        "mime": "application/vnd.ms-powerpoint"
    },
    "wks": {
        "signs": [
            "0,0E574B53",
            "0,FF000200040405540200"
        ],
        "mime": "application/vnd.ms-works"
    },
    "wpl": {
        "signs": [
            "84,4D6963726F736F66742057696E646F7773204D6564696120506C61796572202D2D20"
        ],
        "mime": "application/vnd.ms-wpl"
    },
    "xps": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.ms-xpsdocument"
    },
    "cif": {
        "signs": [
            "2,5B56657273696F6E"
        ],
        "mime": "application/vnd.multiad.creator.cif"
    },
    "odp": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.oasis.opendocument.presentation"
    },
    "odt": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.oasis.opendocument.text"
    },
    "ott": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.oasis.opendocument.text-template"
    },
    "pptx": {
        "signs": [
            "0,504B030414000600"
        ],
        "mime": "application/vnd.openxmlformats-officedocument.presentationml.presentation"
    },
    "xlsx": {
        "signs": [
            "0,504B030414000600"
        ],
        "mime": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    },
    "docx": {
        "signs": [
            "0,504B030414000600"
        ],
        "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    },
    "prc": {
        "signs": [
            "0,424F4F4B4D4F4249",
            "60,74424D504B6E5772"
        ],
        "mime": "application/vnd.palm"
    },
    "pdb": {
        "signs": [
            "11,000000000000000000000000000000000000000000000000",
            "0,4D2D5720506F636B6574204469637469",
            "0,4D6963726F736F667420432F432B2B20",
            "0,736D5F",
            "0,737A657A",
            "0,ACED0005737200126267626C69747A2E"
        ],
        "mime": "application/vnd.palm"
    },
    "qxd": {
        "signs": [
            "0,00004D4D585052"
        ],
        "mime": "application/vnd.Quark.QuarkXPress"
    },
    "rar": {
        "signs": [
            "0,526172211A0700",
            "0,526172211A070100"
        ],
        "mime": "application/vnd.rar"
    },
    "mmf": {
        "signs": [
            "0,4D4D4D440000"
        ],
        "mime": "application/vnd.smaf"
    },
    "cap": {
        "signs": [
            "0,52545353",
            "0,58435000"
        ],
        "mime": "application/vnd.tcpdump.pcap"
    },
    "dmp": {
        "signs": [
            "0,4D444D5093A7",
            "0,5041474544553634",
            "0,5041474544554D50"
        ],
        "mime": "application/vnd.tcpdump.pcap"
    },
    "wpd": {
        "signs": [
            "0,FF575043"
        ],
        "mime": "application/vnd.wordperfect"
    },
    "xar": {
        "signs": [
            "0,78617221"
        ],
        "mime": "application/vnd.xara"
    },
    "spf": {
        "signs": [
            "0,5350464900"
        ],
        "mime": "application/vnd.yamaha.smaf-phrase"
    },
    "dtd": {
        "signs": [
            "0,0764743264647464"
        ],
        "mime": "application/xml-dtd"
    },
    "zip": {
        "signs": [
            "0,504B0304",
            "0,504B0304",
            "0,504B030414000100630000000000",
            "0,504B0708",
            "30,504B4C495445",
            "526,504B537058",
            "29152,57696E5A6970"
        ],
        "mime": "application/zip"
    },
    "amr": {
        "signs": [
            "0,2321414D52"
        ],
        "mime": "audio/AMR"
    },
    "au": {
        "signs": [
            "0,2E736E64",
            "0,646E732E"
        ],
        "mime": "audio/basic"
    },
    "m4a": {
        "signs": [
            "0,00000020667479704D344120",
            "4,667479704D344120"
        ],
        "mime": "audio/mp4"
    },
    "mp3": {
        "signs": [
            "0,494433",
            "0,FFFB"
        ],
        "mime": "audio/mpeg"
    },
    "oga": {
        "signs": [
            "0,4F67675300020000000000000000"
        ],
        "mime": "audio/ogg"
    },
    "ogg": {
        "signs": [
            "0,4F67675300020000000000000000"
        ],
        "mime": "audio/ogg"
    },
    "qcp": {
        "signs": [
            "0,52494646"
        ],
        "mime": "audio/qcelp"
    },
    "koz": {
        "signs": [
            "0,49443303000000"
        ],
        "mime": "audio/vnd.audikoz"
    },
    "bmp": {
        "signs": [
            "0,424D"
        ],
        "mime": "image/bmp"
    },
    "dib": {
        "signs": [
            "0,424D"
        ],
        "mime": "image/bmp"
    },
    "emf": {
        "signs": [
            "0,01000000"
        ],
        "mime": "image/emf"
    },
    "fits": {
        "signs": [
            "0,53494D504C4520203D202020202020202020202020202020202020202054"
        ],
        "mime": "image/fits"
    },
    "gif": {
        "signs": [
            "0,474946383961"
        ],
        "mime": "image/gif"
    },
    "jp2": {
        "signs": [
            "0,0000000C6A5020200D0A"
        ],
        "mime": "image/jp2"
    },
    "jpg": {
        "signs": [
            "0,FFD8",
            "0,FFD8",
            "0,FFD8",
            "0,FFD8"
        ],
        "mime": "image/jpeg"
    },
    "jpeg": {
        "signs": [
            "0,FFD8",
            "0,FFD8"
        ],
        "mime": "image/jpeg"
    },
    "jpe": {
        "signs": [
            "0,FFD8",
            "0,FFD8"
        ],
        "mime": "image/jpeg"
    },
    "jfif": {
        "signs": [
            "0,FFD8"
        ],
        "mime": "image/jpeg"
    },
    "png": {
        "signs": [
            "0,89504E470D0A1A0A"
        ],
        "mime": "image/png"
    },
    "tiff": {
        "signs": [
            "0,492049",
            "0,49492A00",
            "0,4D4D002A",
            "0,4D4D002B"
        ],
        "mime": "image/tiff"
    },
    "tif": {
        "signs": [
            "0,492049",
            "0,49492A00",
            "0,4D4D002A",
            "0,4D4D002B"
        ],
        "mime": "image/tiff"
    },
    "psd": {
        "signs": [
            "0,38425053"
        ],
        "mime": "image/vnd.adobe.photoshop"
    },
    "dwg": {
        "signs": [
            "0,41433130"
        ],
        "mime": "image/vnd.dwg"
    },
    "ico": {
        "signs": [
            "0,00000100"
        ],
        "mime": "image/vnd.microsoft.icon"
    },
    "mdi": {
        "signs": [
            "0,4550"
        ],
        "mime": "image/vnd.ms-modi"
    },
    "hdr": {
        "signs": [
            "0,233F52414449414E43450A",
            "0,49536328"
        ],
        "mime": "image/vnd.radiance"
    },
    "pcx": {
        "signs": [
            "512,0908100000060500"
        ],
        "mime": "image/vnd.zbrush.pcx"
    },
    "wmf": {
        "signs": [
            "0,010009000003",
            "0,D7CDC69A"
        ],
        "mime": "image/wmf"
    },
    "eml": {
        "signs": [
            "0,46726F6D3A20",
            "0,52657475726E2D506174683A20",
            "0,582D"
        ],
        "mime": "message/rfc822"
    },
    "art": {
        "signs": [
            "0,4A47040E"
        ],
        "mime": "message/rfc822"
    },
    "manifest": {
        "signs": [
            "0,3C3F786D6C2076657273696F6E3D"
        ],
        "mime": "text/cache-manifest"
    },
    "log": {
        "signs": [
            "0,2A2A2A2020496E7374616C6C6174696F6E205374617274656420"
        ],
        "mime": "text/plain"
    },
    "tsv": {
        "signs": [
            "0,47"
        ],
        "mime": "text/tab-separated-values"
    },
    "vcf": {
        "signs": [
            "0,424547494E3A56434152440D0A"
        ],
        "mime": "text/vcard"
    },
    "dms": {
        "signs": [
            "0,444D5321"
        ],
        "mime": "text/vnd.DMClientScript"
    },
    "dot": {
        "signs": [
            "0,D0CF11E0A1B11AE1"
        ],
        "mime": "text/vnd.graphviz"
    },
    "ts": {
        "signs": [
            "0,47"
        ],
        "mime": "text/vnd.trolltech.linguist"
    },
    "3gp": {
        "signs": [
            "0,0000001466747970336770",
            "0,0000002066747970336770"
        ],
        "mime": "video/3gpp"
    },
    "3g2": {
        "signs": [
            "0,0000001466747970336770",
            "0,0000002066747970336770"
        ],
        "mime": "video/3gpp2"
    },
    "mp4": {
        "signs": [
            "0,000000146674797069736F6D",
            "0,000000186674797033677035",
            "0,0000001C667479704D534E56012900464D534E566D703432",
            "4,6674797033677035",
            "4,667479704D534E56",
            "4,6674797069736F6D"
        ],
        "mime": "video/mp4"
    },
    "m4v": {
        "signs": [
            "0,00000018667479706D703432",
            "0,00000020667479704D345620",
            "4,667479706D703432"
        ],
        "mime": "video/mp4"
    },
    "mpeg": {
        "signs": [
            "0,00000100",
            "0,FFD8"
        ],
        "mime": "video/mpeg"
    },
    "mpg": {
        "signs": [
            "0,00000100",
            "0,000001BA",
            "0,FFD8"
        ],
        "mime": "video/mpeg"
    },
    "ogv": {
        "signs": [
            "0,4F67675300020000000000000000"
        ],
        "mime": "video/ogg"
    },
    "mov": {
        "signs": [
            "0,00",
            "0,000000146674797071742020",
            "4,6674797071742020",
            "4,6D6F6F76"
        ],
        "mime": "video/quicktime"
    },
    "cpt": {
        "signs": [
            "0,4350543746494C45",
            "0,43505446494C45"
        ],
        "mime": "application/mac-compactpro"
    },
    "sxc": {
        "signs": [
            "0,504B0304",
            "0,504B0304"
        ],
        "mime": "application/vnd.sun.xml.calc"
    },
    "sxd": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.sun.xml.draw"
    },
    "sxi": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.sun.xml.impress"
    },
    "sxw": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/vnd.sun.xml.writer"
    },
    "bz2": {
        "signs": [
            "0,425A68"
        ],
        "mime": "application/x-bzip2"
    },
    "vcd": {
        "signs": [
            "0,454E5452595643440200000102001858"
        ],
        "mime": "application/x-cdlink"
    },
    "csh": {
        "signs": [
            "0,6375736800000002000000"
        ],
        "mime": "application/x-csh"
    },
    "spl": {
        "signs": [
            "0,00000100"
        ],
        "mime": "application/x-futuresplash"
    },
    "jar": {
        "signs": [
            "0,4A4152435300",
            "0,504B0304",
            "0,504B0304140008000800",
            "0,5F27A889"
        ],
        "mime": "application/x-java-archive"
    },
    "rpm": {
        "signs": [
            "0,EDABEEDB"
        ],
        "mime": "application/x-rpm"
    },
    "swf": {
        "signs": [
            "0,435753",
            "0,465753",
            "0,5A5753"
        ],
        "mime": "application/x-shockwave-flash"
    },
    "sit": {
        "signs": [
            "0,5349542100",
            "0,5374756666497420286329313939372D"
        ],
        "mime": "application/x-stuffit"
    },
    "tar": {
        "signs": [
            "257,7573746172"
        ],
        "mime": "application/x-tar"
    },
    "xpi": {
        "signs": [
            "0,504B0304"
        ],
        "mime": "application/x-xpinstall"
    },
    "xz": {
        "signs": [
            "0,FD377A585A00"
        ],
        "mime": "application/x-xz"
    },
    "mid": {
        "signs": [
            "0,4D546864"
        ],
        "mime": "audio/midi"
    },
    "midi": {
        "signs": [
            "0,4D546864"
        ],
        "mime": "audio/midi"
    },
    "aiff": {
        "signs": [
            "0,464F524D00"
        ],
        "mime": "audio/x-aiff"
    },
    "flac": {
        "signs": [
            "0,664C614300000022"
        ],
        "mime": "audio/x-flac"
    },
    "wma": {
        "signs": [
            "0,3026B2758E66CF11A6D900AA0062CE6C"
        ],
        "mime": "audio/x-ms-wma"
    },
    "ram": {
        "signs": [
            "0,727473703A2F2F"
        ],
        "mime": "audio/x-pn-realaudio"
    },
    "rm": {
        "signs": [
            "0,2E524D46"
        ],
        "mime": "audio/x-pn-realaudio"
    },
    "ra": {
        "signs": [
            "0,2E524D460000001200",
            "0,2E7261FD00"
        ],
        "mime": "audio/x-realaudio"
    },
    "wav": {
        "signs": [
            "0,52494646"
        ],
        "mime": "audio/x-wav"
    },
    "webp": {
        "signs": [
            "0,52494646"
        ],
        "mime": "image/webp"
    },
    "pgm": {
        "signs": [
            "0,50350A"
        ],
        "mime": "image/x-portable-graymap"
    },
    "rgb": {
        "signs": [
            "0,01DA01010003"
        ],
        "mime": "image/x-rgb"
    },
    "webm": {
        "signs": [
            "0,1A45DFA3"
        ],
        "mime": "video/webm"
    },
    "flv": {
        "signs": [
            "0,00000020667479704D345620",
            "0,464C5601"
        ],
        "mime": "video/x-flv"
    },
    "mkv": {
        "signs": [
            "0,1A45DFA3"
        ],
        "mime": "video/x-matroska"
    },
    "asx": {
        "signs": [
            "0,3C"
        ],
        "mime": "video/x-ms-asf"
    },
    "wmv": {
        "signs": [
            "0,3026B2758E66CF11A6D900AA0062CE6C"
        ],
        "mime": "video/x-ms-wmv"
    },
    "avi": {
        "signs": [
            "0,52494646"
        ],
        "mime": "video/x-msvideo"
    }
}
View Code

https://datatracker.ietf.org/doc/html/rfc6838

/usr/local/nginx/mime.types

types {
    text/html                                        html htm shtml;
    text/css                                         css;
    text/xml                                         xml;
    image/gif                                        gif;
    image/jpeg                                       jpeg jpg;
    application/javascript                           js;
    application/atom+xml                             atom;
    application/rss+xml                              rss;

    text/mathml                                      mml;
    text/plain                                       txt;
    text/vnd.sun.j2me.app-descriptor                 jad;
    text/vnd.wap.wml                                 wml;
    text/x-component                                 htc;

    image/png                                        png;
    image/svg+xml                                    svg svgz;
    image/tiff                                       tif tiff;
    image/vnd.wap.wbmp                               wbmp;
    image/webp                                       webp;
    image/x-icon                                     ico;
    image/x-jng                                      jng;
    image/x-ms-bmp                                   bmp;

    font/woff                                        woff;
    font/woff2                                       woff2;

    application/java-archive                         jar war ear;
    application/json                                 json;
    application/mac-binhex40                         hqx;
    application/msword                               doc;
    application/pdf                                  pdf;
    application/postscript                           ps eps ai;
    application/rtf                                  rtf;
    application/vnd.apple.mpegurl                    m3u8;
    application/vnd.google-earth.kml+xml             kml;
    application/vnd.google-earth.kmz                 kmz;
    application/vnd.ms-excel                         xls;
    application/vnd.ms-fontobject                    eot;
    application/vnd.ms-powerpoint                    ppt;
    application/vnd.oasis.opendocument.graphics      odg;
    application/vnd.oasis.opendocument.presentation  odp;
    application/vnd.oasis.opendocument.spreadsheet   ods;
    application/vnd.oasis.opendocument.text          odt;
    application/vnd.openxmlformats-officedocument.presentationml.presentation
                                                     pptx;
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
                                                     xlsx;
    application/vnd.openxmlformats-officedocument.wordprocessingml.document
                                                     docx;
    application/vnd.wap.wmlc                         wmlc;
    application/x-7z-compressed                      7z;
    application/x-cocoa                              cco;
    application/x-java-archive-diff                  jardiff;
    application/x-java-jnlp-file                     jnlp;
    application/x-makeself                           run;
    application/x-perl                               pl pm;
    application/x-pilot                              prc pdb;
    application/x-rar-compressed                     rar;
    application/x-redhat-package-manager             rpm;
    application/x-sea                                sea;
    application/x-shockwave-flash                    swf;
    application/x-stuffit                            sit;
    application/x-tcl                                tcl tk;
    application/x-x509-ca-cert                       der pem crt;
    application/x-xpinstall                          xpi;
    application/xhtml+xml                            xhtml;
    application/xspf+xml                             xspf;
    application/zip                                  zip;

    application/octet-stream                         bin exe dll;
    application/octet-stream                         deb;
    application/octet-stream                         dmg;
    application/octet-stream                         iso img;
    application/octet-stream                         msi msp msm;

    audio/midi                                       mid midi kar;
    audio/mpeg                                       mp3;
    audio/ogg                                        ogg;
    audio/x-m4a                                      m4a;
    audio/x-realaudio                                ra;

    video/3gpp                                       3gpp 3gp;
    video/mp2t                                       ts;
    video/mp4                                        mp4;
    video/mpeg                                       mpeg mpg;
    video/quicktime                                  mov;
    video/webm                                       webm;
    video/x-flv                                      flv;
    video/x-m4v                                      m4v;
    video/x-mng                                      mng;
    video/x-ms-asf                                   asx asf;
    video/x-ms-wmv                                   wmv;
    video/x-msvideo                                  avi;
}
View Code

2,mime.types

http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

Internet 媒体类型应按照 RFC 4288 中的描述进行注册。
# 注册表位于 <http://www.iana.org/assignments/media-types/>。

http://www.iana.org/assignments/media-types/
这个是目前比较新和完整

<think>好的,用户问的是关于clipboard.read()复制文件时无法获取文件的types的问题。首先,我需要理解这个问题的背景。用户可能在开发一个涉及剪贴板操作的应用,特别是处理文件复制的情况。他们可能发现使用clipboard.read()方法时,无法获取到文件的MIME类型(types),这导致他们无法正确处理剪贴板中的文件据。 接下来,我要考虑不同的技术栈。因为剪贴板操作在不同的平台浏览器中可能有不同的实现。例如,在Web环境中,剪贴板API的处理方式与桌面应用(如Electron或NW.js)或原生应用(如Python的某些库)不同。所以需要明确用户使用的环境,但用户没有具体说明,可能需要覆盖几种常见情况。 首先想到的是Web环境中的剪贴板API。在Web中,navigator.clipboard.read()主要用于读取剪贴板中的文本或图像据,但文件类型的处理可能有限。当用户复制文件(比如在操作系统中复制一个文件后),Web API可能无法直接访问这些文件,因为浏览器的安全限制。此时,剪贴板中的文件可能不会通过标准的clipboard.read()方法暴露出来,导致无法获取types。 然后,如果是Electron或NW.js这样的桌面应用框架,它们可能有更多的剪贴板访问权限。Electron提供了clipboard模块,可以读取文件列表,比如clipboard.readFiles(),这可能返回文件的路径或其他信息。这时候,用户可能需要使用特定的方法而不是通用的read(),或者需要检查API文档确认如何获取文件的MIME类型。 另外,安全策略可能也是一个因素。浏览器中,访问剪贴板中的文件通常需要用户的明确许可,且可能仅限于某些上下文,比如粘贴事件处理程序中。如果用户没有正确触发粘贴事件(比如通过用户交互),可能无法读取到文件据。 可能的解决方案包括: 1. 在Web环境中,使用paste事件监听,通过event.clipboardData.files来获取文件列表,这里每个File对象可能有type属性表示MIME类型。 2. 在Electron中,使用clipboard.readFiles()获取文件路径,然后通过文件路径或文件头信息推断MIME类型。 3. 如果MIME类型不在剪贴板据中,可能需要通过文件扩展名或内容嗅探来手动确定类型。 需要提醒用户注意平台差异安全限制,以及正确处理异步操作用户权限。此外,可能存在的兼容性问题,比如不同浏览器或Electron版本之间的差异,也需要考虑进去。 总结一下,用户的问题可能源于API使用的环境限制或方法选择不当,需要根据具体环境调整代码,使用正确的方法事件来获取文件及其类型信息。</think>在跨平台开发中,使用剪贴板读取文件类型时遇到限制主要与系统API差异安全策略有关。以下是分步骤说明: 一、核心原因分析 1. 系统级限制 - Windows/MacOS/Linux的剪贴板实现不同 - 文件类型(type)元据并非所有系统都存入剪贴板 - 二进制文件信息可能被转换为URI列表格式 2. 安全策略限制 - 浏览器环境下禁止访问本地文件类型(防止恶意脚本) - 桌面应用需要声明特殊权限(如Electron的clipboardRead权限) 二、解决方案实践 1. 浏览器环境 ```javascript // 必须在粘贴事件中触发 document.addEventListener('paste', (e) => { const files = e.clipboardData.files; if (files.length > 0) { console.log(files[0].type); // 通过File API获取MIME类型 } }); ``` 2. Electron桌面应用 ```javascript const { clipboard } = require('electron') // 读取文件路径列表 const files = clipboard.read('public.file-url') files.forEach(filePath => { const ext = path.extname(filePath) // 通过扩展名推导类型 console.log(mime.getType(ext)) }) ``` 3. Python方案(需安装额外库) ```python import win32clipboard # Windows专用方案 win32clipboard.OpenClipboard() files = win32clipboard.GetClipboardData(win32clipboard.CF_HDROP) win32clipboard.CloseClipboard() # 需要自行解析文件头判断类型 from mimetypes import guess_type print(guess_type(files[0])[0]) ``` 三、注意事项 1. 跨平台兼容建议 - 优先使用文件扩展名推导类型(.jpg → image/jpeg) - 备选方案:读取文件magic number- 使用专业库如libmagic(Unix)或python-magic(跨平台) 2. 性能优化 - 大文件处理建议异步读取 - 限制最大文件尺寸检测(建议<512KB) - 使用Web Worker避免界面卡顿 四、补充说明 若必须精确获取原始类型信息,建议改用拖放API(支持完整元据获取),以下是浏览器对比示例: | 特性 | 剪贴板方案 | 文件拖放方案 | |----------------|---------------|--------------| | MIME类型获取 | 部分支持 | 完整支持 | | 多文件支持 | 有限 | 完整支持 | | 用户交互要求 | 需主动粘贴 | 需拖拽操作 | | 跨域支持 | 受严格限制 | 同源策略限制 | 建议根据具体场景选择实现方案,需要精确类型检测时推荐结合文件内容嗅探技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值