如何在AngularJS中保存下载的文件

时间:2018-07-20 07:34:58

标签: angularjs

我正在运行一项从服务器下载图像的服务,该服务是:

http://192.00.000.00:8080/file/files/plus.png

当我将其复制并粘贴到浏览器中时,它将在我的文件目录中下载一个plus.png文件(下载)。

我如何在AngularJS中做到这一点

我的代码:

    $scope.downloadFile = function( name ) {

        var defer = $q.defer();

        $http.get( serviceFileDownload+name ).then(
            // Success
            function(response) {

                console.log( "downloaded file response: " );
                console.log( response );

                var file = new Blob([ response.data ], { type:"application/json;charset=utf-8;" });
                //trick to download store a file having its URL
                var fileURL = URL.createObjectURL(file);
                var a         = document.createElement('a');
                a.href        = fileURL; 
                a.target      = '_blank';
                a.download    = name;
                document.body.appendChild(a);
                a.click();                  

            },
            // Error
            function(response) {
                //alert("Error: " + response.data);
            }
        );

    }
  

它将下载文件,但是该文件无法查看。相片查看器显示文件不受支持或类似的错误。

0 个答案:

没有答案