Из-за способа, которым я обычно получаю данные изображения обычно из ответа HTTP, предоставляющего данные изображения из базы данных, это значение изображения в кодировке base64.Если его нет, я пытаюсь заменить изображение по умолчанию.
Пример HTML-кода для отображения изображения выглядит следующим образом:
<img [src]="'data:'+sample.mimetype+';base64,'+sample.value"
alt="" width="75%" />
Звонок, который я сейчас делаюдля получения изображения возвращает блоб.(обратите внимание, что в настоящее время я рассматриваю весь ответ только для того, чтобы попытаться выяснить, что я получаю).Если в ответе используется другой тип ответа на изображение, у меня все уши.Вот текущий вызов для извлечения изображения из файловой системы.
return this.httpClient
.get<any>('./assets/images/face-not-avail.jpg', {observe: 'response', responseType: 'blob' })
.map(response =>{
console.log('face response ' + response);
return response.body;
})
.catch(this.errorHelperService.handleError);
Вот содержимое ответа на изображение: введите описание изображения здесь
Но яУ меня возникли проблемы с выяснением, как превратить этот BLOB-объект в тип кодированного значения base64, с которым я обычно имею дело.Я не буду перечислять все, что я пробовал ... Но я не могу получить доступ к данным BLOB.Тип BLOB-объекта - изображение / JPEG, как и ожидалось.
Я оглядывался по сторонам, но, похоже, ничего не подходит.
Буду признателен за любой совет.