簡體   English   中英

在angularjs中使用restapi在郵遞員中下載文本文件,而不在瀏覽器中下載文本文件

[英]downloading text file in postman but not in browser using restapi in angularjs

$scope.newFile是我來自后端的回復。 實際上我的回答應該是一個文本文件,該文件在郵遞員中工作。但是在瀏覽器中,我正在

無法獲取/Organizer/%7B%22data%22:%22id/tname/temail/tphone/twebsite/tvenue/ttags/n83/tAny%20Name/ta@b.com/t9009009009/thttp://www.anyname.com /tHall%20A/ttag1、%20tag2、%20tag3/nsunitha/tsunitha@gmail.com/t55555541/thttp://www.sunitha.com/nSuhasini/tsuha@gmail.com/t955555544/thttp://www.suha .com / nRaichel / traichel @ gmail.com / t955548458 / thttp://www.raichel.com/n%22,%22status%22:200,%22config%22:%7B%22method%22:%22GET%22 ,%22transformRequest%22:[null],%22transformResponse%22:[null],%22jsonpCallbackParam%22:%22callback%22,%22headers%22:%7B%22Authorization%22:%22Token%2013946cc6c575d61b042b01b6905f1d239b3d9bAc%, %22:%22application / json,%20text / plain,%20 * / *%22%7D,%22url%22:%22http:// http:// localhost / 1290 // entity / campaigns / download_exhibitors /%22 %7D,%22statusText%22:%22OK%22,%22xhrStatus%22:%22complete%22%7D

Service.js

var url =' http://localhost/1290/';

function downloadExhibitor() {

        var token = 129821sahh;
        var auth = "Token" + ' ' + token;

        var config = {
            headers: {
                'Content-Type': 'text/plain',
                'Authorization': auth
            }
        }

        return $http.get(url + 'entity/campaigns/download_exhibitors/', config)
               .then(successHandler, errorHandler);
}

function successHandler(response){
    /* we've got file's data from server */
    return response.data;
}

function errorHandler(error){
    /* we've got error response from server */
    throw new Error('ERROR ' + error);
}

最后是服務調用

JS:

$scope.newFile = "";
service.downloadExhibitor()
       .then(function(data){
                $scope.newFile = data;
             }, function(error){ 
                console.log(error);
             });

HTML:

    <button class="btn" ng-click="downloadAllExhibitors();">
<a ng-href="{{newFile}}" target="_blank">Download</a></button>

您可以在控制器中嘗試以下代碼...

var file = new Blob([data], {
    type : 'text/plain'
});
if (navigator.userAgent.indexOf('MSIE') !== -1
        || navigator.appVersion.indexOf('Trident/') > 0) {
        window.navigator.msSaveOrOpenBlob(file);
} else {
    var fileURL = URL.createObjectURL(file);
    window.open(fileURL);
}

遵循Controller中的代碼使我的工作變得簡單,並且最終下載了文件。

            var file = new Blob([data], {
                    type: 'text/plain'
                });
                if (navigator.userAgent.indexOf('MSIE') !== -1 ||
                    navigator.appVersion.indexOf('Trident/') > 0) {
                    window.navigator.msSaveOrOpenBlob(file);
                } else {
                    var a = window.document.createElement("a");
                    a.href = window.URL.createObjectURL(file, {
                        type: "text/plain"
                    });
                    a.download = "filename.csv";
                    document.body.appendChild(a);
                    a.click(); 
                    document.body.removeChild(a);
                }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM