我正在尝试使用three.js将.gltf模型加载到我的Blazor应用程序中。
但是,服务器不提供此类文件。
我知道必须添加MIME类型,但是由于某些原因,Blazor Web应用程序无法完成,因为Startup.cs中的'app'变量是
IComponentsApplicationBuilder
的实例。谁能帮我解决这个问题。
答案 0 :(得分:1)
IIS和IIS Express将不提供扩展名未知的文件。在错误控制台中,您会看到var tag = new NFCMiFareTag();
tag.SendCommand(new NFCIso7816Apdu(...), actionHandler);
,这意味着该文件丢失或该文件的MIME类型未注册。
我建议您尝试将404 (Not Found)
文件添加到应用程序的根目录,其内容如下:
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>
语句可以避免与父文件夹或根级别或系统级别发生的任何MIME类型注册发生任何可能的冲突。 <remove ... />
始终是安全的,但是添加一个已经存在的配置错误。
这里是对glTF Mime Type定义位置的引用。
某些版本的IIS Express将忽略remove
中的MIME类型。如果发生这种情况,上述文件可能无法正常工作。在这种情况下,您可能必须直接编辑IIS Express配置文件,以添加上面显示的信息。检查this SO answer,了解如何找到该配置文件。