2017-09-19 1 views
0

J'ai un frontal AngularJS qui ouvre un Bootstrap Modal qui a un bouton dessus. Lorsque vous cliquez sur ce bouton, il appelle une méthode API Web sur le serveur qui génère un document Word XML ouvert en tant que flux et renvoie le fichier au client. J'ai plusieurs téléchargement de fichiers avec succès dans IE où je vois ceci:Impossible de télécharger le fichier avec le bootstrap ouvert Modal

enter image description here

Cependant, pour le fichier que je suis en train de télécharger le Modal ouvert, je ne vois jamais l'image ci-dessus. Ce n'est pas le fichier lui-même, car il télécharge avec succès lorsque je l'essaie sans le Modal ouvert. En outre, je ne vois aucune erreur signalée dans IE Dev Tools. Je ne pense pas que ce soit le code qui génère les flux car le même code génère d'autres fichiers avec succès. J'ai aussi essayé de fermer le Modal avant de le télécharger mais ça n'a pas marché non plus. C'est presque comme si le Modal "bloquait" le téléchargement.

Voici la définition 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'); 
     }; 

    }; 

me semble être d'idées au moment de sorte que toute aide est très appréciée.

Merci,

Pete

+0

Cela ne semble pas être le modal. Toujours en train d'enquêter. – Pete

Répondre

0

j'ai pu déterminer la cause du problème. Cela avait à voir avec la façon dont j'appelais la méthode API Web. J'utilisais un appel AJAX JQuery GET. Au lieu de cela, je devais faire quelque chose comme ceci:

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

Quand j'ai changé la façon dont j'appelle la méthode API Web j'ai vu le flux retourné au client comme prévu.