【问题标题】:How to load .gltf in a Blazor application如何在 Blazor 应用程序中加载 .gltf
【发布时间】:2019-11-14 22:04:18
【问题描述】:

我正在尝试使用 three.js 将 .gltf 模型加载到我的 Blazor 应用程序中。 但是,服务器不提供此类文件。 我知道必须添加 MIME 类型,但由于某些原因,Blazor Web 应用程序无法做到这一点,因为 Startup.cs 中的“app”变量是IComponentsApplicationBuilder 的一个实例。谁能帮我解决这个问题。

【问题讨论】:

  • 实际的服务器是什么,是 IIS 吗?你有web.config 文件吗?
  • IISExpress .. Blazor 应用程序没有 web.config 文件。

标签: three.js blazor static-files gltf


【解决方案1】:

IIS 和 IIS Express 不会提供扩展名未知的文件。在您的错误控制台中,您会看到 404 (Not Found),这意味着文件丢失,或者文件的 MIME 类型未注册。

我建议您尝试将web.config 文件添加到应用程序的根目录,其内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <remove fileExtension=".gltf" />
            <mimeMap fileExtension=".gltf" mimeType="model/gltf+json" />
            <remove fileExtension=".glb" />
            <mimeMap fileExtension=".glb" mimeType="model/gltf-binary" />
            <remove fileExtension=".bin" />
            <mimeMap fileExtension=".bin" mimeType="application/octet-stream" />
        </staticContent>
    </system.webServer>
</configuration>

&lt;remove ... /&gt; 语句用于避免与父文件夹或根级别或系统级别中发生的任何 MIME 类型注册发生任何可能的冲突。 remove 总是安全的,但是添加一个已经存在的是配置错误。

这是对 glTF Mime Type 定义位置的引用。

某些版本的 IIS Express 会忽略来自 web.config 的 MIME 类型。如果发生这种情况,上述文件可能无法正常工作。在这种情况下,您可能必须直接编辑 IIS Express 配置文件,以添加上面显示的信息。检查this SO answer 以了解如何找到该配置文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-09
    • 2020-05-08
    • 2018-10-27
    • 2021-11-14
    • 2022-01-25
    • 2023-01-31
    • 2021-07-23
    • 2020-10-18
    相关资源
    最近更新 更多