【问题标题】:MIME Type of Wavefront's OBJ and MTLWavefront 的 OBJ 和 MTL 的 MIME 类型
【发布时间】:2013-09-09 14:35:53
【问题描述】:

我正在使用 ThreeJS 和 WebGL 构建一个小的 3D 应用程序。我故意选择不将模型转换为与 ThreeJS 兼容的 .json 文件,而是开始构建导入器。它可以工作,但我还计划让应用程序决定使用文件扩展名和 MIME 类型加载的模型类型,如果第一个未知,则后者。

我在某处读到 MIME 类型应该是 application/wavefront-obj,这有点奇怪,因为还有 model 树,但无论如何都可以。虽然在 IANA 网站上浏览此文件类型不会产生任何结果。

我错过了什么吗?

【问题讨论】:

  • 我可以通过快速谷歌搜索找到的唯一参考是Wikipedia,上面写着text/plain
  • @tripleee 对我的需要来说太模糊了,但至少有一个确认我没有遗漏一些明显的东西......我想我会坚持使用伪 MIME。无论如何,谢谢。

标签: three.js mime wavefront


【解决方案1】:

According to wikipedia,它是 .obj 的“text/plain”。

我猜它也是 .mtl 文件的“text/plain”,因为其中有文本,而且它“是 Wavefront Technologies 为 定义的标准ASCII 文件".

【讨论】:

  • 我知道这是 ASCII 文件的标准,但它似乎太……模棱两可。我构建的(自动化)系统决定如何根据不同的因素解析资源,其中之一是 MIME 类型。因为它是一个 ASCII,所以没有任何我可以依赖的幻数。此外,JavaScript 中的文件处理一开始并不是那么方便……我会再花一些时间,感谢您试图吸引更多的注意力。赏金到期后,我会将此回复标记为答案。
  • 当然可以。我自己通过 ajax 获取服务器 gzip .obj 文件(以节省时间和带宽)遇到了这个问题。需要知道 mime-type 才能在 nginx 配置中指定它。
  • 显然text/plain 不够具体,就像我的情况一样。尽管我认为除此之外没有别的办法,但也许有人有另一种解决方案。简单地使用一个假的 MIME 就可以满足我的情况,但我不确定 nginx。
  • 好了,时间到了。是时候将其标记为已解决了。无论如何,感谢您的赏金。
  • 截至目前,维基百科同意更新后的 IANA,它是model/obj
【解决方案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>

【讨论】:

    【解决方案3】:

    我很惊讶在IANA database 中没有看到波前 obj 文件,考虑到它们至少在互联网上流传了 20 年。我很乐意与其他人合作建立正式的 MIME 类型。

    在此之前,根据RFC 6838 的第 3.3 节“个人或名利树”,您可以为此使用自己的媒体类型,例如text/prs.wavefront-obj,除了text/plain。这样您就可以使用 HTTP Accept 标头在您的响应中协商适当的 MIME 类型。

    【讨论】:

    • 我很惊讶在这方面很难找到一般的东西。我想 .obj 有点过时了,但它的简单性肯定会在某个地方找到应用。
    • 我不认为 obj 已经过时了。它是许多应用程序之间非常有用的几何“共同基础”格式。
    • 确实如此。这就是为什么我特别说有些过时的原因。我认为唯一缺少的功能是动力学和物理学。它是为静态模型设计的,因此它对动画的价值显然是相当低的。在这方面,自然会倾向于另一种格式。物理方面与前面的相辅相成。
    【解决方案4】:

    对 .obj 文件使用 MIME 类型“应用程序/对象”。它适用于 Chrome、Safari 和 FireFox。

    【讨论】:

      【解决方案5】:

      根据定义和维护媒体类型的协会 IANA(这不是维基百科),“obj”的 mime-type 是 model/objmodel/mtl 表示“mtl”。查看模型的其他媒体类型:https://www.iana.org/assignments/media-types/media-types.xhtml#model

      【讨论】:

        猜你喜欢
        • 2017-02-10
        • 2015-08-15
        • 2017-06-27
        • 2019-10-18
        • 2019-01-17
        • 2013-08-08
        • 2012-06-13
        • 1970-01-01
        • 2012-07-14
        相关资源
        最近更新 更多