使用Tridion Anguilla框架获取多媒体组件字节数组?

rob*_*rtc 7 tridion

是否可以使用Anguilla JavaScript API获取存储在Tridion中的图像的字节数组?我想在GUI扩展弹出窗口中显示图像.

Fra*_*len 8

我能想到的最简单的方法是使用这样的URL加载MMC:

http://<hostname>/WebUI/Editors/CME/icon.png?uri=tcm:2-1151
Run Code Online (Sandbox Code Playgroud)

如果使用该方法,字节的实际加载与Tridion无关:您只是从URL加载图像.

你可能想用JavaScript构建URL,所以从这样的东西开始(我从源代码中无耻地复制了它):

p.multimediaUrl = $display.getMultimediaHandlerPath() + "?uri={0}";
Run Code Online (Sandbox Code Playgroud)

更新

像往常一样,Mozilla Developer Connection 在使用XMLHttpRequest加载二进制数据方面有一个很好的例子.应用于这种情况,我似乎用这个片段获取数据:

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();    
Run Code Online (Sandbox Code Playgroud)