我有一个AngularJS前端,它打开一个Bootstrap Modal,上面有一个按钮。单击此按钮时,它会在服务器上调用Web API方法,该方法生成一个OPEN XML Word Document作为流并将该文件返回给客户端。我在IE中成功下载了几个文件,我看到了:
但是,对于我试图用开放模态下载的文件,我从未看到上面的图像。它不是文件本身,因为当我在没有开放模态的情况下尝试它时它会成功下载。另外,我没有看到IE Dev Tools中报告任何错误。我认为这不是生成流的代码,因为相同的代码会成功生成其他文件。我也尝试在下载之前关闭Modal,但这也没有用。这几乎就像Modal正在“阻止”下载。
以下是模态定义:
var isOUOModal;
var isSubmitItem = false;
var openSignificanceModal = function () {
return $modal.open({
scope: $scope,
templateUrl: './app/oa/significance_modal.html',
controller: SignificanceModalCtrl,
keyboard: false,
backdrop: 'static',
resolve: {
item: function () {
return $scope.item;
}
}
});
};
var SignificanceModalCtrl = function ($scope, $modalInstance, item, $window) {
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
};
目前我似乎没有想法,所以非常感谢任何帮助。
谢谢,
皮特
答案 0 :(得分:1)
我能够在这里确定问题的原因。它与我调用Web API方法的方式有关。我正在使用AJAX JQuery GET调用。相反,我必须做这样的事情:
var url = url;
window.location.href = url;
当我改变调用Web API方法的方式时,我看到流按预期返回到客户端。