.net上本地加载模型出错

发布于 2022-09-11 17:54:28 字数 778 浏览 23 评论 0

我想要本地加载模型,模型文件是通过https://extract.autodesk.io转...,在node.js上是可以运行,但是在.net上却加载失败了。文件的地址也没出错,请问这是怎么回事啊》`

    var initOptions = {
        path: 'r8/0.svf',
        env: ''
    }
    function onEnvInitialized() {

        var domContainer = document.getElementById('viewer')
        var viewer = new Autodesk.Viewing.Private.GuiViewer3D(domContainer)
        var result = viewer.start()
        var core = viewer.loadModel(initOptions.path)
    }
    Autodesk.Viewing.Initializer(
        initOptions,
        function () {
            onEnvInitialized()
        })`
      

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦初启 2022-09-18 17:54:28

找到原因了。因为服务器无法解析SVF格式。所以要设置MIME Type。在.NET Web.config文件中添加以下MIME类型

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".svf" mimeType="application/octet-stream "/>
      <mimeMap fileExtension=".pf" mimeType="application/octet-stream "/>
      <mimeMap fileExtension=".pack" mimeType="application/octet-stream "/>
    </staticContent>

  </system.webServer>

而在.NET Core中则必须在Startup.cs文件中Configure方法内添加MIME类型。并且因为.net core不是从默认路径浏览静态文件。所以必须指定静态文件目录,并且把SVF文件放在那个目录中服务器才能访问。

  public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
                {
                    HotModuleReplacement = true
                });
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }
            app.UseAuthentication();
            app.UseHttpsRedirection();
            app.UseCookiePolicy();
            
            app.UseStaticFiles();
            
            var provider = new FileExtensionContentTypeProvider();
            provider.Mappings[".svf"] = "application/octet-stream";
            provider.Mappings[".pf"] = "application/octet-stream";
            provider.Mappings[".pack"] = "application/octet-stream";
            app.UseStaticFiles(new StaticFileOptions {
                ContentTypeProvider = provider,
                FileProvider = new PhysicalFileProvider(
                    Path.Combine(env.ContentRootPath, @"MyStaticFiles")),
                RequestPath = new PathString("/StaticFiles")
            });

         
        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文