如何从 Exact Online XML-feed 获取 PictureURL 以使用 Invantive Data Access Point 显示图片?

RH1*_*985 6 exact-online invantive-sql invantive-dataaccesspoint

使用数据访问点生成 XML 提要时,使用以下查询:

select * from exactonlinerest..items
Run Code Online (Sandbox Code Playgroud)

生成的 XML 有一个 PictureURL:

https://start.exactonline.nl/docs/SysImage.aspx?Table=Items&ID=3332e277-ba03-420e-84ce-21ac174c5ced&ThumbSize=500&NoCache=1&OptimizeForWeb=1&_Division_=875673
Run Code Online (Sandbox Code Playgroud)

但是在尝试打开该网址时,出现错误且图片未显示。

我将如何着手使该图片可见?

Gui*_*ers 2

您可以通过用于 API 的相同安全通道从 Exact Online 检索图片作为 blob,方法是:

select httpget(pictureurl) picture
from   me
Run Code Online (Sandbox Code Playgroud)

这将检索图片,该图片在下面的示例中由查询工具自动渲染(50 种灰度设计):

检索图片 blob

请注意,如果您执行大量操作httpget,则每一次都会产生一些开销。尤其是下载数千张图片时,会给 Exact Online 带来很大的负载。仅在必要时才这样做。

作为替代方案,您还可以使用:

select *
from   exactonlinexml..items
Run Code Online (Sandbox Code Playgroud)

Exact Online 的 XML API 返回负载本身中的图片,从而减少了往返次数。缺点是,如果您有 15.000 x 15.000 像素 x 32 深度图像,您将得到......正是这样,而且它巨大、伟大且令人惊叹。请注意,XML API 使用 HTTP 压缩 (gzip)。

REST API 使用的 URL 的优点是它可以创建缩略图。这将在 Exact 服务器上产生一些负载(我不知道它们是否以及如何智能地缓存),但减少了网络限制。请注意,REST API 表不使用 HTTP 压缩,因此可压缩输出仍然需要大量带宽。正如您所看到的,尽管 SQL 易于使用,但在进行大量下载和/或上传时,仍需要制定和测试大量设计决策。

您可能可以调整缩略图大小,如下所示:

更改缩略图大小