Angular ng-file-upload - 什么是ngfBlobUrl以及如何来回转换

Pip*_*ine 5 javascript pdf file angularjs ng-file-upload

我正在考虑允许用户上传PDF文件(以后再预览/下载).我环顾四周,似乎ng-File-Upload是上传文件的流行指令,因为它支持许多浏览器.

我原本以为我必须将我的PDF转换为blob并将它们存储在我的SQL数据库中,然后在为它们提供预览/下载选项时转换回PDF.

玩弄ng-file-upload我看到当一个人以某种方式上传文件时(取自他们的样本页面):

  $scope.uploadFiles = function (file, errFiles) {
    console.log(file);

    $scope.f = file;
    $scope.errFile = errFiles && errFiles[0];
    if (file) {
        file.upload = Upload.upload({
            url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
            data: { file: file }
        });

        file.upload.then(function (response) {
            $timeout(function () {
                file.result = response.data;
            });
        }, function (response) {
            if (response.status > 0)
                $scope.errorMsg = response.status + ': ' + response.data;
        }, function (evt) {
            file.progress = Math.min(100, parseInt(100.0 *
                                     evt.loaded / evt.total));
        });
    }
  }
}]);
Run Code Online (Sandbox Code Playgroud)

和我在控制台中检出文件属性我看到一个名为$ ngfBlobUrl的属性:

$ ngfBlobUrl:"blob:http%3A // localhost%3A54170/0cc4b67a-9f6a-4833-acd0-7fd51e00996e

我很好奇是否有人可以给我任何关于他们如何生成这个我在文件上传中假设的见解,如果这正是我对我的解决方案所需要的,如果有的话,任何人都可以向我指出如何将其转换回来的文档原始PDF格式.我想了解更多ng-file-upload如何工作以及它是否是我的项目的可行指令.

谢谢