У меня есть метод вызова API и получения ответов. Один api возвращает изображение. Content-Type: application/octet-stream Если я задал responseType: «blob», он работает нормально.Angularjs показ изображения blob
$http({
url: apiConstants.BASE_URL + 'login',
method: "POST",
responseType: "blob",
data: {
"Req": req
},
headers: {
'X-Username': aUser,
'X-Password': aPass,
},
}).success(function(data, status, headers, config) {
var URL = $window.URL || $window.webkitURL;
$rootScope.ImageSrc = URL.createObjectURL(data);
}
Но я хочу, чтобы удалить responseType: «блоб» из запроса и пытается создать блоб следующим способом
$http({
url: apiConstants.BASE_URL + 'login',
method: "POST",
data: {
"Req": req
},
headers: {
'X-Username': aUser,
'X-Password': aPass,
},
}).success(function(data, status, headers, config) {
var blob = new Blob(
[data],
{
type: 'application/octet-stream'
}
);
var URL = $window.URL || $window.webkitURL;
$rootScope.ImageSrc = URL.createObjectURL(blob);
}
Но изображение не отображается в HTML. это HTML-код
<img class="img-responsive empImg" id="empImage" data-ng-src="{{ImageSrc}}" />
Не могли бы вы мне посоветуете по этому
Имеет ли '$ rootScope.ImageSrc' подпись подписи, например' data: image/png; base64'? – IzumiSy
Могу ли я спросить, почему? Я думаю, что прежний (и рабочий) метод выглядит более корректным. – Phil
@IzumiSy Я предлагаю вам найти документацию для 'URL.createObjectURL' – Phil