使用angularjs从服务器下载文件

用户名

我在寻找一种使用户能够选择服务器上存在的文件并使用angularjs下载文件的方法,我发现此代码无效,因此任何人都有一种可行的方法

 var content = 'file content';
    var blob = new Blob([content], { type: 'text/plain' });
      $scope.download = function () {

        $window.location = (window.URL || window.webkitURL).createObjectURL(blob);
    }
    <input type="button" value="download" download="content.txt"   ng-click="download()"/>

拉斐尔·穆勒(RaphaelMüller)

我这样做:

<a href="download.txt" data-file-download="true">Download</a>

并使用指令:

angular.module('app')
    .directive('fileDownload', [function () {
        return {
            restrict: 'A',
            replace: true,
            template: '<button class="btn btn-default" data-ng-click="download()"><span class="glyphicon glyphicon-download"></span></button>',
            controller: ['$rootScope', '$scope', '$element', '$attrs', 'dialogs', '$timeout', function ($rootScope, $scope, $element, $attrs, dialogs, $timeout) {
                $scope.progress = 0;

                function prepare(url) {
                    dialogs.wait("Please wait", "Your download starts in a few seconds.", $scope.progress);
                    fakeProgress();
                }
                function success(url) {
                    $rootScope.$broadcast('dialogs.wait.complete');
                }
                function error(response, url) {
                    dialogs.error("Couldn't process your download!");
                }

                function fakeProgress() {
                    $timeout(function () {
                        if ($scope.progress < 95) {
                            $scope.progress += (96 - $scope.progress) / 2;
                            $rootScope.$broadcast('dialogs.wait.progress', { 'progress': $scope.progress });
                            fakeProgress();
                        }
                    }, 250);
                }

                $scope.download = function () {
                    $scope.progress = 0;
                    $.fileDownload($attrs.href, { prepareCallback: prepare, successCallback: success, failCallback: error });
                }
            }]
        }
    }]);

这使用jQuery fileDownload函数下载文件。(注意:还有一个有效的对话框类)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

angularjs nodejs从apache http服务器下载文件

来自分类Dev

尝试使用angularJS和C#WebAPI从服务器下载文件

来自分类Dev

在Android中使用IntentService从服务器下载文件

来自分类Dev

使用ASP MVC从远程服务器下载文件

来自分类Dev

使用Java从服务器下载文件

来自分类Dev

使用Swift从服务器下载文件

来自分类Dev

使用Flask和JS从服务器下载文件

来自分类Dev

使用ASP MVC从远程服务器下载文件

来自分类Dev

使用scp从服务器下载文件时出错

来自分类Dev

使用vuejs从php服务器下载文件

来自分类Dev

不使用 JSch 从 SFTP 服务器下载文件

来自分类Dev

从服务器以html下载文件

来自分类Dev

从AngularJS的服务器下载文件时如何更改文件名

来自分类Dev

从服务器下载文件(不下载?)

来自分类Dev

从服务器下载文件(不下载?)

来自分类Dev

使用FtpWebResponse下载文件-即使从ftp服务器中删除文件,也可以下载文件?

来自分类Dev

使用FtpWebResponse下载文件-即使从ftp服务器中删除文件,也可以下载文件?

来自分类Dev

从FTP服务器下载文件时损坏文件

来自分类Dev

通过脚本从文件服务器下载文件

来自分类Dev

从服务器文件夹下载文件

来自分类Dev

Android-从服务器下载文件终止

来自分类Dev

MVC从远程服务器下载文件

来自分类常见问题

在React中如何从服务器下载文件?

来自分类Dev

JSP-允许用户从服务器下载文件

来自分类Dev

从基于Flask的Python服务器下载文件

来自分类Dev

下载文件(如果服务器上存在)

来自分类Dev

如何从服务器下载文件(sso和https)

来自分类Dev

从服务器Objective C或Swift下载文件

来自分类Dev

从服务器Struts 2.0下载文件

Related 相关文章

热门标签

归档