我正在使用ThreeJS和WebGL构建一个小型3D应用程序。我故意选择不将模型转换为ThreeJS兼容的.json文件,而是开始构建导入器。它工作正常,但我还计划让应用程序决定使用文件扩展名和MIME类型加载了哪种类型的模型,如果第一个未知,则应用程序决定后者。
我已经在某处看过MIME类型应该是application/wavefront-obj
,这有点奇怪,因为还有model
树,但不管怎么说都没关系。虽然浏览IANA网站以获取此文件类型但不会产生任何结果。
我错过了什么吗?
答案 0 :(得分:6)
According to wikipedia,对于.obj,它是“ text / plain ”。
我猜测.mtl文件也是“ text / plain ”,因为它们中有文本,因为“是Wavefront Technologies为定义的标准ASCII文件“。
答案 1 :(得分:2)
您需要更新web.config并添加对 obj 文件类型的引用
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".obj" />
<mimeMap fileExtension=".obj" mimeType="text/plain" />
</staticContent>
</system.webServer>
</configuration>
答案 2 :(得分:1)
使用MIME类型&#34;应用程序/对象&#34;对于.obj文件。它适用于Chrome,Safari和FireFox。
答案 3 :(得分:1)
根据定义和维护媒体类型的协会 IANA(这不是维基百科),“obj”的 mime-type 是 model/obj
,而 model/mtl
代表“mtl”。查看模型的其他媒体类型:https://www.iana.org/assignments/media-types/media-types.xhtml#model
答案 4 :(得分:0)
我很惊讶在IANA database中没有看到wavefront obj文件,考虑到他们至少在互联网上玩了20年。我很乐意与其他人合作建立官方MIME类型。
在此之前,根据RFC 6838的第3.3节,&#34;个人或虚荣树&#34;,您可以使用自己的媒体类型,例如text/prs.wavefront-obj
,除了text/plain
。这样,您就可以使用HTTP Accept
标头在响应中协商相应的MIME类型。