【发布时间】:2012-11-20 09:15:35
【问题描述】:
是否可以使用 Anguilla JavaScript API 获取存储在 Tridion 中的图像的字节数组?我想在 GUI 扩展弹出窗口中显示图像。
【问题讨论】:
标签: tridion
是否可以使用 Anguilla JavaScript API 获取存储在 Tridion 中的图像的字节数组?我想在 GUI 扩展弹出窗口中显示图像。
【问题讨论】:
标签: tridion
我能想到的最简单的方法是使用这样的 URL 加载 MMC:
http://<hostname>/WebUI/Editors/CME/icon.png?uri=tcm:2-1151
如果您使用这种方法,字节的实际加载与 Tridion 无关:您只是从 URL 加载图像。
您可能希望在 JavaScript 中构建 URL,因此请从以下内容开始(我无耻地从源代码中复制了该内容):
p.multimediaUrl = $display.getMultimediaHandlerPath() + "?uri={0}";
像往常一样,Mozilla Developer Connection 有一个很棒的example on loading binary data with XMLHttpRequest。应用到这种情况,我好像用这个sn-p获取数据:
var arraybuffer;
var xhr = new XMLHttpRequest();
xhr.open("GET", $display.getMultimediaHandlerPath() + '?uri==tcm%3A2-1151', true);
xhr.responseType = "arraybuffer";
xhr.onload = function(e) {
arraybuffer = xhr.response; // not responseText
}
xhr.send();
【讨论】:
http://<hostname>/WebUI/Editors/CME/icon.png?target=view&maxwidth=320&maxheight=200&uri=tcm%3A2-1151&mode=thumb&modified=2012-07-23T21:14:39。我通过搜索getMultimediaHandlerPath()的源代码发现了一些额外的参数,例如target=download。