Javascript 使用AngularJS下载zip文件

Javascript 使用AngularJS下载zip文件,javascript,ajax,angularjs,Javascript,Ajax,Angularjs,当我通过浏览器访问此url时,它会要求我下载文件 我需要从angularjs http请求下载这个 我为此写了一个工厂,但它不是下载 请求获得200状态,但仍在firebug中显示加载程序 app.factory('File', ['$http','GENERAL_CONFIG', function($http, GENERAL_CONFIG) { var API_URL = GENERAL_CONFIG.BASE_API_URL; API_URL = API_URL + '

当我通过浏览器访问此url时,它会要求我下载文件

我需要从angularjs http请求下载这个

我为此写了一个工厂,但它不是下载

请求获得200状态,但仍在firebug中显示加载程序

app.factory('File', ['$http','GENERAL_CONFIG', function($http, GENERAL_CONFIG) {
    var API_URL = GENERAL_CONFIG.BASE_API_URL;

    API_URL = API_URL + 'filetransfer/';

    return {
        download: function(filename, type,successcallback, errorcallback){
            var apiurl = API_URL + filename + '?type='+type
            $http.get(apiurl,{
                headers: {
                    "Content-Type": "application/x-download;"
                }
            }).success(successcallback).error(errorcallback);
        }
    }
}]);

这是一个老帖子,但我会回应当前的需要

您的http请求应该有一个额外的头。 设置响应类型:“arraybuffer”。


然后,您可以将该响应转换为blob obj。并将其传递给回调:URL.createObjectURL(newBlob([response])

我敢打赌,没有人关心你的
内容类型。在我把它交给angularjs之前,浏览器关心它。太晚了,angularjs自己也不在乎。