不工作.docx转换为angularjs中的blob

时间:2016-10-03 16:16:35

标签: javascript angularjs api

我使用varbinary(MAX)数据类型成功地将文件(.txt,.docx,.pdf)保存在数据库中。

现在我使用下面的代码从数据库下载文件。 我可以毫无问题地下载.txt扩展文件。  当我尝试下载.docx扩展文件时,无法按预期工作。数据来自垃圾字符和word文档无法打开“因为我们发现其内容存在问题”

$http(request).success(function (d, status, headers) {
    head = headers();

    var contentType = head['content-type'];

    var contentdisposition = head['content-disposition'];
    var fileName = contentdisposition.split(';')[1].trim().split('=')[1];
    fileName = fileName.replace(/"/g, '');
    console.log('calling');
    var contentType = head['content-type'];

    var data = d;

    var file = new Blob([data], { type: contentType });
    saveAs(file, fileName);
})
.error(function () {

});

1 个答案:

答案 0 :(得分:0)

我得到了下载文件的解决方案。

 $http({
                    url : '/api/DownloadfFile/20',
                    method : 'GET',
                    params : {},
                    headers : {
                        'Content-type': undefined,
                    },
                    responseType : 'arraybuffer'
                }).success(function (data, status, headers, config) {
                    head = headers();
                    var contentType = head['content-type'];
                    var contentdisposition = head['content-disposition'];
                    var fileName = contentdisposition.split(';')[1].trim().split('=')[1];
                    fileName = fileName.replace(/"/g, '');

                    var file = new Blob([ data ], {
                        type: contentType
                    });


                    saveAs(file, fileName);


                }).error(function(data, status, headers, config) {

                });