javascript - 在 angularjs 中无法将 .docx 转换为 blob

标签 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 () {

});

最佳答案

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

 $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) {

                });

关于javascript - 在 angularjs 中无法将 .docx 转换为 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39836018/

相关文章:

javascript - AngularJS 在模板上使用正则表达式替换

javascript - Angular ng-repeat 有一些逻辑

php - 自己网站上的 API 内部请求?

java - FilterInputStream/FilterOutputStream 的空源

javascript - 尝试使用 async/await 而不是 browser.sleep,但它不起作用

用于自定义验证的 JavaScript 正则表达式

javascript - AngularJS:使用 ng-readonly 只读输入

java - MongoDB Java API com.mongodb.DBPortPool gotError

Java SWT 浏览器 : Waiting till dynamic page is fully loaded

javascript - jQuery 输出两个复选框逗号分隔的数据值在另一个复选框上