我有一个来自对另一个服务的REST调用的文件的内容,我需要强制这些内容到一个机制来触发浏览器下载机制。这基本上是由在别处触发的超链接驱动的,该超链接将引用ID抛出到所述文件。内容以Blob-parsable格式返回。
单击上述链接后,以下代码不会触发任何事件。仔细检查后,似乎插入的超链接永远不会在承诺的范围内被触发。有没有办法让这个工作按预期工作,或者我们应该如何重构此文件下载的链接?
downloadDocument = function (id, fileName) {
console.log("downloadDocument");
documentsService.documentsFactory.retrieveDocument(id).then(
function successCallback(response) {
var a = document.createElement("a");
a.style = "display: none";
var file = new Blob([response], {type: 'application/pdf'});
var url = window.URL.createObjectURL(file);
a.href = url;
a.download = fileName;
document.body.appendChild(a);
a.click();
},
function errorCallback(response) {
console.debug("Error with RetrieveDownload call", response);
}
);
};