Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs-将blob保存到不处理动态数据的文本文件_Javascript_Angularjs - Fatal编程技术网

Javascript Angularjs-将blob保存到不处理动态数据的文本文件

Javascript Angularjs-将blob保存到不处理动态数据的文本文件,javascript,angularjs,Javascript,Angularjs,我正试图设置一个按钮或锚下载一些文本到一个.txt文件。使用Jquery,我做了一个简单的$('#copy_Output_logs').text();我的文本在我的控制台中正确显示。所以我设置了href链接,但我一直得到一个空白文件。据我所知,由于我的文本是在单击时动态加载的,所以这不起作用 所以我创建了一个函数,可以在单击时执行。但是我的主播总是用这个奇怪的URL打开一个页面。”http://localhost:8080/%7B%7B“。尝试了另一种方法,通过设置un a ng单击按钮,但下载

我正试图设置一个按钮或锚下载一些文本到一个.txt文件。使用Jquery,我做了一个简单的$('#copy_Output_logs').text();我的文本在我的控制台中正确显示。所以我设置了href链接,但我一直得到一个空白文件。据我所知,由于我的文本是在单击时动态加载的,所以这不起作用

所以我创建了一个函数,可以在单击时执行。但是我的主播总是用这个奇怪的URL
打开一个页面。”http://localhost:8080/%7B%7B“
。尝试了另一种方法,通过设置un a ng单击按钮,但下载对话框不起作用(我需要),它只是重定向到包含文本的页面

以下是我目前的代码:

App.controller('Forumlaire_Controller', function ($scope, Shared_Service) {

    $scope.Download = function() {
        return Shared_Service.Service_download();
    } 

})
.config( function($compileProvider) {
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(|blob|):/);
});


App.factory('Shared_Service', function($q) {

    return {

        Service_download: function() {  
            var url = $window.URL || $window.webkitURL;
            var data = $('#copy_Output_logs').text();

            console.log($('#copy_Output_logs').text()) // On ng-click the text showup correctly
            console.log(url.createObjectURL(new Blob([data], { type: 'text/plain' }))); //Via ng-click the url generates correctly in the console.

            return url.createObjectURL(new Blob([data], { type: 'text/plain' }));

        }

    }

});
HTML:


交替

有人有什么想法吗?

对于您给出的两种用法,
肯定不起作用,因为“click”事件返回一个字符串,并且没有处理它



我很惊讶这不起作用,尤其是当一切似乎都是同步的时候。我希望看到生成的
HTML。显然这个按钮不起作用了,因为它只是把一个字符串拿回来。嘿,我还是很想知道我是否帮了你的忙。
<a download="content.txt" href={{ Download() }} target="_blank" >Download</a>
<button ng-click="Download()" >Alternatif</button>
App.controller('Forumlaire_Controller', function ($scope, Shared_Service) {

    $scope.Download = function() {
        var a = document.getElementById("downloadLink"),
            url = Shared_Service.Service_download();

        a.href = url;
        a.target = "_blank";
        a.download = "filename.txt";
    } 

})
.config( function($compileProvider) {
    $compileProvider.aHrefSanitizationWhitelist(/^\s*(|blob|):/);
});


App.factory('Shared_Service', function($q) {

    return {

        Service_download: function() {  
            var url = $window.URL || $window.webkitURL;
            var data = $('#copy_Output_logs').text();

            console.log($('#copy_Output_logs').text()) // On ng-click the text showup correctly
            console.log(url.createObjectURL(new Blob([data], { type: 'text/plain' }))); //Via ng-click the url generates correctly in the console.

            return url.createObjectURL(new Blob([data], { type: 'text/plain' }));

        }

    }

});
<a href="#" id="downloadLink" ng-click="Download()">Download</a>