我正在尝试通过以下代码通过ajax
加载图片。我正在尝试将其转换为角度$http
并且它无法正常工作。
普通的ajax代码
var xhr = new XMLHttpRequest();
xhr.open('GET', attr.imageUrl, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
element[0].src = window.URL.createObjectURL(this.response);
};
xhr.send();
角色代码
$http.get(attr.imageUrl, {}, {
responseType: 'arraybuffer'
})
.success(function(response) {
var file = new Blob([response]);
element[0].src = URL.createObjectURL(file);
});
答案 0 :(得分:1)
我认为应该是:
$http.get({ url: attr.imageUrl, responseType: 'arraybuffer'})
.success(function(response) {
var file = new Blob([response]);
element[0].src = URL.createObjectURL(file);
});
或者:
$http.get(attr.imageUrl, {responseType: 'arraybuffer'})
.success(function(response) {
var file = new Blob([response]);
element[0].src = URL.createObjectURL(file);
});
答案 1 :(得分:1)
试试这个:
$http.get(attr.imageUrl, {responseType: 'arraybuffer'})
.then(function(response) {
var file = new Blob([response]);
element[0].src = URL.createObjectURL(file);
});
答案 2 :(得分:0)
试试这个 -
$http.get(attr.imageUrl, {responseType: 'arraybuffer'})
.then(function(response) {
var file = new Blob([response.data], {
type: 'application/octet-binary'
});
element[0].src = URL.createObjectURL(file);
});