我尝试从后端获取字节数组的列表,并将其解析为Angular应用中的图像。
以下是请求后端的代码:
public getImages(names: string[]) {
let params = new HttpParams();
params = params.append("names", names.join(","));
return this.httpClient.get<Blob[]>(API_URL + "diseases/images", {
params: params,
});
}
以及组件中的订阅代码:
getImages(names: string[]) {
this.encyclopedyService.getImages(names).subscribe((data: Blob[]) => {
let image: SafeUrl = null;
console.log(data);
data.forEach((bytes) => {
const reader = new FileReader();
reader.readAsDataURL(bytes);
reader.onload = (e) => (
(this.imageBytes = reader.result),
(image = this.sanitizer.bypassSecurityTrustUrl(this.imageBytes))
);
console.log(image);
});
});
}
每当出现错误时:
错误TypeError:无法在'FileReader'上执行'readAsDataURL':参数1不是'Blob'类型。 在_global .. [as readAsDataURL]
Blockquote