更新 3:

更新 3:

我有两个不同的文件,它们具有相同的文件扩展名:*.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和命令:fileODF 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和命令:fileOpenType 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

常见的哑剧类型列表。

相关内容