我有两个不同的文件,它们具有相同的文件扩展名:*.otf
。但如果我右键单击这两个文件,鹦鹉螺在文件属性窗口中,它们显示不同的“类型:”:一个是ODF template (application/vnd.oasis.opendocument.formula-template)
,另一个是OpenType font (application/x-font-otf)
!但我知道这两个文件都是字体文件。如何解决这个问题?
更新 1:
更改默认打开文件的应用程序不会更改文件的 MIME 类型。我选择“字体查看器”作为第一个文件的默认应用程序,但 MIME 类型与以前相同:ODF template (application/vnd.oasis.opendocument.formula-template)
更新 2:
第一个文件的输出hexdump
和命令:file
ODF template (application/vnd.oasis.opendocument.formula-template)
~$ hexdump -C /usr/local/share/fonts/PATH/TO/file1.otf | head -10
00000000 00 01 00 00 00 15 01 00 00 04 00 50 44 53 49 47 |...........PDSIG|
00000010 b2 43 b4 f2 00 02 8a a0 00 00 19 14 47 44 45 46 |.C..........GDEF|
00000020 17 64 17 14 00 02 81 e0 00 00 00 8a 47 50 4f 53 |.d..........GPOS|
00000030 4b 22 51 38 00 02 4a 3c 00 00 37 a2 47 53 55 42 |K"Q8..J<..7.GSUB|
00000040 1b 4f b3 32 00 02 1a 38 00 00 30 02 4c 54 53 48 |.O.2...8..0.LTSH|
00000050 62 62 8b 22 00 00 0c 2c 00 00 02 81 4f 53 2f 32 |bb."...,....OS/2|
00000060 8f ff 72 1b 00 00 01 d8 00 00 00 60 56 44 4d 58 |..r........`VDMX|
00000070 66 17 6d 58 00 00 0e b0 00 00 05 e0 63 6d 61 70 |f.mX........cmap|
00000080 f6 42 ff 1e 00 02 82 6c 00 00 08 32 63 76 74 20 |.B.....l...2cvt |
00000090 04 7a 04 1f 00 00 5b d4 00 00 00 4c 66 70 67 6d |.z....[....Lfpgm|
~$ file /usr/local/share/fonts/PATH/TO/file1.otf
/usr/local/share/fonts/PATH/TO/file1.otf: TrueType font data
~$ file -i /usr/local/share/fonts/PATH/TO/file1.otf
/usr/local/share/fonts/PATH/TO/file1.otf: application/x-font-ttf; charset=binary
第二个文件的输出hexdump
和命令:file
OpenType font (application/x-font-otf)
~$ hexdump -C /usr/local/share/fonts/PATH/TO/file2.otf | head -10
00000000 4f 54 54 4f 00 0a 00 80 00 03 00 20 43 46 46 20 |OTTO....... CFF |
00000010 5c 33 c3 6d 00 00 09 38 00 00 61 37 47 53 55 42 |\3.m...8..a7GSUB|
00000020 54 d2 12 5e 00 00 6d c0 00 00 05 48 4f 53 2f 32 |T..^..m....HOS/2|
00000030 d2 f6 e7 07 00 00 01 10 00 00 00 60 63 6d 61 70 |...........`cmap|
00000040 19 7f 5b 97 00 00 05 c8 00 00 03 50 68 65 61 64 |..[........Phead|
00000050 fc b9 e6 f6 00 00 00 ac 00 00 00 36 68 68 65 61 |...........6hhea|
00000060 15 93 03 22 00 00 00 e4 00 00 00 24 68 6d 74 78 |...".......$hmtx|
00000070 ac c1 fb 32 00 00 6a 70 00 00 03 50 6d 61 78 70 |...2..jp...Pmaxp|
00000080 00 d4 50 00 00 00 01 08 00 00 00 06 6e 61 6d 65 |..P.........name|
00000090 4d 67 6a ae 00 00 01 70 00 00 04 56 70 6f 73 74 |Mgj....p...Vpost|
~$ file /usr/local/share/fonts/PATH/TO/file2.otf
/usr/local/share/fonts/PATH/TO/file2.otf: OpenType font data
~$ file -i /usr/local/share/fonts/PATH/TO/file2.otf
/usr/local/share/fonts/PATH/TO/file2.otf: application/vnd.ms-opentype; charset=binary
更新 3:
文件 1 链接ODF template (application/vnd.oasis.opendocument.formula-template)
文件 2 链接OpenType font (application/x-font-otf)
答案1
这是一个有问题的文件具有错误扩展名的情况。
因此这会让您的文件管理器失灵,并可能导致无法正确预览文件。看到file UthmanTN1 Ver10.otf
报告TrueType font data
后,只需为其添加适当的扩展名 ( .ttf
) 即可解决问题
答案2
文件可以有不同的哑剧类型但具有相同的扩展名。
这就是为什么您永远不应该完全依赖扩展名来验证您的网站上传。
举例来说.jpg
,以下都是有效的 MIME 类型:
image/pjpeg
image/jpeg
image/jpg