4

我正在尝试使用 angularJs 资源从服务器下载文件,但它不起作用。我的代码如下:

// service
angular.module("someModule")
.factory('generate', ['$resource', '$rootScope', function ($resource, $rootScope) {
return $resource('some url...');}]);


//Js controller file - I'm getting the 'generate' service in the head of the controller
 $scope.$on('generateFile', function(){
    generate.get();
});


//html
<a ng-click="$emit('generateFile')"></a>

当我输入网址时,它会下载文件 - 所以服务器端很好。但是,我找不到任何使用角度资源下载文件的示例。谢谢您的帮助

4

1 回答 1

0

使用拦截器获取 responseXML:

function grabResponseXML($q, dependency1, dependency2) 
    {
    return {
           'response': function(response) 
              {
              var deferred = $q.defer();

              if (response.headers()['content-type'] === 'text/xml; charset="UTF-8"') 
                {
                localStorage.setItem('xmlResponse', response.responseXML);
                }
              deferred.resolve(response);

              return deferred.promise;
              }
           }
    }             

$httpProvider.interceptors.push(grabResponseXML);

参考

于 2016-09-14T02:51:12.333 回答