【问题标题】:Openseadragon with XML document variable instead of URL?Openseadragon 使用 XML 文档变量而不是 URL?
【发布时间】:2014-08-14 16:09:15
【问题描述】:

使用直接 XML 数据打开 SeaDragon 查看器的正确方法是什么?我需要知道我在这里做错了什么。我有一堆托管在需要显示的另一个域上的 DZI 图像,但我无法使用适当的 URL 进行简单的 OpenSeadragon() 调用,因为图像所在的域没有“访问控制允许-起源”标题。因此,我设置了一个代理控制器来检索 XML 数据并将其传递回我的网页。但是,我无法使用 XML 数据加载图像。

我一直在使用工作图像(来自不同的网站)来测试问题并找出我需要做什么。当我使用以下代码时,图像显示:

var viewer = OpenSeadragon({
    id: "openseadragon1",
    prefixUrl: "../../Scripts/openseadragon/images/", 
    tileSources: "https://familysearch.org/dz/v1/TH-1971-27860-10353-27/image.xml?ctx=CrxCtxPublicAccess&session" 
});

现在我正在尝试通过检索 XML 并在我的 OpenSeadragon 调用中使用 XML,以使用代理控制器的方式显示图像:

  var ajaxresult = $.ajax({
      url: "https://familysearch.org/dz/v1/TH-1971-27860-10353-27/image.xml?ctx=CrxCtxPublicAccess&session",
      type: 'get',
      success: function (data) {

          // data is an XMLdocument object

          var viewer = OpenSeadragon({
          id: "openseadragon1",
          prefixUrl: "../../Scripts/openseadragon/images/",
          tileSources: data
       });
   },
      error: function (jqXHR, textStatus, errorThrown) {
          alert(jqXHR.responseText || textStatus);
       }
  });

我得到一个空白图像,我的控制台显示每个图块都无法加载。我还尝试将 xml 作为字符串直接粘贴到 tileSources 字段中,如下所示:

tileSources: '<?xml version="1.0" encoding="utf-8"?><Image TileSize="256" Overlap="1" Format="jpg" ServerFormat="Default" xmlns="http://schemas.microsoft.com/deepzoom/2009"> <Size Width="6233" Height="4683" /></Image>'

但这也不起作用。

我在这里做错了什么?

【问题讨论】:

    标签: ajax xml xmldocument seadragon openseadragon


    【解决方案1】:

    我找到了解决问题的方法。因为我的图像托管在 S3 帐户上,所以我发现我可以登录该帐户并将 CORS 配置添加到每个图像存储桶中。因此,无需使用 Ajax 来拉取 XML;将 CORS 添加到存储桶后,我就可以将 URL 直接放入 OpenSeadragon 调用中。

    【讨论】:

      【解决方案2】:

      不幸的是 OpenSeadragon 还不支持直接传递 XML;你必须分解信息。在这里查看答案:

      https://github.com/openseadragon/openseadragon/issues/460

      【讨论】:

        猜你喜欢
        • 2018-05-12
        • 1970-01-01
        • 2011-01-28
        • 2011-04-14
        • 1970-01-01
        • 1970-01-01
        • 2018-01-20
        • 1970-01-01
        • 2012-01-11
        相关资源
        最近更新 更多