【问题标题】:OpenSeadragon loads one Deep Zoom tile onlyOpenSeadragon 仅加载一个 Deep Zoom 磁贴
【发布时间】:2023-03-10 10:20:01
【问题描述】:

我在 ASP.NET Core 3.1 的一个非常基本的设置中加载 dzi 磁贴时遇到问题。我之前在 IIS 上运行的 ASP.NET 网站中使用了相同的设置,其中相同的 dzi 磁贴可以正常工作。

<body style="width: 100%; height: 100%;">
  <div id="seadragon1" role="application" aria-label="seadragon viewer" style="width:100%; height: 100%">
  </div>
  <script src="~/js/openseadragon-2.4.2.js"></script>
  <script>
    var seadragon = OpenSeadragon({
      id: 'seadragon1',
      prefixUrl: '/img/',
      tileSources: '/media/sample.dzi'
    });
  </script>
</body>

.dzi 文件作为相对 url 传递给 OpenSeadragon 对象,并成功获取。所有导航图像都已成功获取,但没有出现导航按钮。但是,只获取了一个图像块:/media/sample/sample_files/0/0_0.jpg。控制台中没有出现错误。画布设置好了,只是完全是空的。没有迹象表明为什么没有获取更多的图块 - 只是没有尝试获取它们。如果我手动尝试访问浏览器中的任何图块(例如/media/sample/sample_files/10/0_0.jpg),它们都可用并且加载正常。 IE。平铺图像在那里并且可以提供。

当我将相同的 dzi 文件和磁贴传递给在 IIS 上运行的旧 ASP.NET 网站中的相同设置时,一切正常。两种场景中的 html 和 javascript 在字面上是相同的。这两种方案的根本区别在于,asp.net core 运行在内置的 Kestrel 服务器上,而不是 IIS。我很困惑为什么这会对 OpenSeadragon 的行为产生任何影响。

为了彻底,我将 asp.net 核心站点发布到 IIS 服务器。从技术上讲,IIS 代理服务器上的 Kestrel,但我可以尽可能地缩小 asp.net 核心网站和基于 .net 框架的旧式 asp.net 网站之间的差距。

还有……同样的问题。以下是已发布的站点供参考:https://andi2.andornot.com/seadragon?dzi=/media/seadragon/sample.dzi

任何有根据的猜测都会有所帮助。

【问题讨论】:

    标签: asp.net openseadragon deepzoom


    【解决方案1】:

    原来问题是 100% 的高度,结果是高度为 0。如果 seadragon 容器没有高度,则不会加载任何内容。将高度设置为 100vh 可使 openseadragon 正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多