什么是TTF文件的MIME类型?
我找不到TrueType字体的正确MIME类型。 我需要它,因为我正在使用文件上传类(CodeIgniter)上传文件,并且我想只允许上传TTF。 试过这个:
'ttf' => 'font/ttf'
'ttf' => 'font/truetype'
没有成功。
有任何想法吗 ?
TTF没有指定MIME类型。 您将不得不使用更通用的application/octet-stream
,它用于指示没有指定MIME类型的二进制数据。
我已经看到用作TTF的MIME类型的font/ttf
和application/x-font-ttf
。 但是,如果您的文件以application/octet-stream
形式上传,并且您不想仅仅信任.ttf
文件扩展名(或者如果您想处理没有扩展名的文件),则必须检查文件内容以看看他们是否是TTF文件。 UNIX magic
文件说TTF将以5个字节开始
00 01 00 00 00
(这是来自GDEF表格版本的00 01 00 00
和来自GlyphClassDef表格偏移量的前导00
)
如果你的文件以这5个字节开头,那可能是TTF。
我知道这已经很老了,但似乎还没有人提供具体的示例修复。 所以在这里,我们为子孙后代:
我遇到了与Apache2和Chrome相同的问题。 Chrome会警告使用MIME类型的application / octet-stream发送的文件实际上是一个字体文件 - 它就是这样。
对我来说,修补程序是在我的apache2配置文件中添加以下行:
AddType application/x-font-ttf .ttf
PS:
我试图更新魔术文件,但在完整的apache2重新加载后失败。 我试过的匹配(使用字段之间的真正制表符,以及上面引用的魔法模式)如下:
# True Type fonts 0 string 00 01 00 00 00 application/x-font-ttf 0 string 00 01 00 00 00 TrueType font data mime application/x-font-ttf链接地址: http://www.djcxy.com/p/46981.html