我使用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 () {
});
答案 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) {
});