允许以角度js下载word文档文件

时间:2016-12-09 09:51:46

标签: angularjs

我有一个应用程序,允许上传.pdf,.png,.jp(e)g,.doc和.docx等文件,如下所示

Chronic.time_class = Time.zone

这些文档以字节数组(byte [])的形式存储在数据库中。

现在我想提供一个允许某人打开或下载文件的链接。

   <button type="button" ngf-select class="btn btn-warning btn-block"
           ngf-change="vm.setCv($file, vm.person)">
                Add Doc
   </button>

    vm.setCv = function ($file, person) {
        if ($file) {
            DataUtils.toBase64($file, function(base64Data) {
                $scope.$apply(function() {
                    person.cv = base64Data;
                    person.cvContentType = $file.type;
                });
            });
        }
    };

上述功能适用于pdf和图像文件,但不适用于doc和docx文件。

我的问题是如何修改此代码,以便即使浏览器不允许或无法打开.doc和.docx文件,它也至少允许以正确的格式下载文件。

1 个答案:

答案 0 :(得分:1)

将您的数据转换为 blob 并分配给 a 标记。它将下载所有类型的文件。这个解决方案对我有用!!将您的 base64 转换为 blob here

 var myBlob = new Blob([data],{type:type})
 var blobURL = (window.URL || window.webkitURL).createObjectURL(myBlob);
 var anchor = document.createElement("a");
 anchor.download = fileName;      // Downlaod File Name
 anchor.href = blobURL;
 anchor.click();
相关问题