Three.js在Azure中加载.OBJ错误但不在本地加载

时间:2013-04-19 05:11:05

标签: javascript html azure three.js webgl

我正在使用three.js来加载web。来加载.obj 但是在Windows Azure运行Windows Server 2008中加载.obj时遇到问题 我使用谷歌浏览器浏览器,它给出了以下错误:

获取http://websiteaddress.net/webGL/obj/test.mtl 404(未找到)

甚至,我用他们原来的源代码来加载.obj文件它有同样的错误

当我尝试浏览服务器中的其他图像文件时,我可以预览它 例如:(website.net/images/test.gif) - 我可以在浏览器中看到test.gif图像

但是当我导航到.obj时,我在浏览器中收到错误: (例如:website.net/obg/test.obj)

404 - 找不到文件或目录。 您要查找的资源可能已被删除,名称已更改或暂时不可用。

我可以在本地查看我的.obj,但是当我把它放在Azure中时却没有! 任何人都可以帮我吗?谢谢!

4 个答案:

答案 0 :(得分:7)

[求助]加载.OBJ(Wavefront)文件在WINDOWS托管返回404错误[已解决]

当我使用Three.js并加载.obj文件时,在localhost中对我很有用,但是当从Windows Hosting运行文件时,它返回404 for .obj文件。

因此,我们需要将这些行添加到项目根文件夹的 web.config 文件中(如果项目根文件夹中没有该文件,则继续创建一个。 )

<强>的web.config

        <?xml version="1.0" encoding="UTF-8"?>
        <configuration>
            <system.webServer>
                 <staticContent>
                        <mimeMap fileExtension=".obj" mimeType="application/octet-stream" />
                 </staticContent>
            </system.webServer>
        </configuration>

将web.config放置到正确的位置并享受:)

答案 1 :(得分:0)

您需要在应用程序中添加mime类型定义,以告知IIS应如何提供此文件。应在web.config文件中定义错误消息中引用的mime映射。这是一个例子。

<system.webServer>
     <staticContent>
            <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
            <mimeMap fileExtension=".m4v" mimeType="video/m4v" />
     </staticContent>
 </system.webServer>

点击以下链接获取mime类型的完整列表:

Full list of mime types

答案 2 :(得分:0)

我找到了问题的答案,是因为文件扩展名.obj尚未映射到我的Azure服务器中的MIME类型:

检查以下链接,了解如何添加:

http://technet.microsoft.com/en-us/library/cc725608(v=ws.10).aspx

你可以在这里查看MIME类型:

http://filext.com/file-extension/OBJ

将地图.obj映射到MIME后,您将无需再加载它! :)

答案 3 :(得分:0)

我认为我应该在找到这篇文章后添加我最终做的事情。我使用.mtl文件作为THREE JS项目的材料(除了.obj之外)。由于我使用MTLLoader来获取材料(我的模型不仅仅是平面颜色),我不得不添加以下行:

<强>的web.config

 <!-- Instruct IISNODE to treate .obj+.mtl models as application/octet data -->
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".obj" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".mtl" mimeType="application/octet-stream" />
        </staticContent>
    </system.webServer>
</configuration>