我需要在角度中将响应类型设置为'blob'。 如何在angularjs中为$ http设置响应类型? 下面提供了使用XMLHttpRequest设置responseType的示例代码。我需要用$ http替换XMLHttpRequest。
var oMyForm = new FormData();
oMyForm.append("js", content);
var oReq = new XMLHttpRequest({mozSystem: true});
oReq.open("POST", url, true);
oReq.responseType = "blob";
oReq.onload = function(xhr) {
};
oReq.onerror = function(xhr) {
};
oReq.send(oMyForm);
答案 0 :(得分:14)
angular为此提供配置对象,请检查docs
$http({
url: "http://localhost:8080/example/teste",
method: "POST",
responseType: "blob"
})
答案 1 :(得分:0)
这适用于IE,Chrome和FF。
function download(url) {
if (navigator.msSaveBlob) {
var ajax = new XMLHttpRequest();
ajax.open("GET", url, true);
ajax.responseType = 'blob';
ajax.onload = function(e) {
navigator.msSaveBlob(data, url.substr(url.lastIndexOf("/") + 1));
};
} else {
$('#download-frame').remove();
$('<iframe/>', {
src: url,
id: 'download-frame'
}).hide().appendTo('body');
}
}