无法使用open bootstrap Modal下载文件

时间:2017-09-19 22:34:39

标签: asp.net-web-api twitter-bootstrap-3 bootstrap-modal

我有一个AngularJS前端,它打开一个Bootstrap Modal,上面有一个按钮。单击此按钮时,它会在服务器上调用Web API方法,该方法生成一个OPEN XML Word Document作为流并将该文件返回给客户端。我在IE中成功下载了几个文件,我看到了:

enter image description here

但是,对于我试图用开放模态下载的文件,我从未看到上面的图像。它不是文件本身,因为当我在没有开放模态的情况下尝试它时它会成功下载。另外,我没有看到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');
        };

     };

目前我似乎没有想法,所以非常感谢任何帮助。

谢谢,

皮特

1 个答案:

答案 0 :(得分:1)

我能够在这里确定问题的原因。它与我调用Web API方法的方式有关。我正在使用AJAX JQuery GET调用。相反,我必须做这样的事情:

var url = url;
window.location.href = url;

当我改变调用Web API方法的方式时,我看到流按预期返回到客户端。