Angular 10.x怎么在组件中输出byte[]

masadong 2020-12-05 01:48:39
路由:
{path:'member/avatar/:uid.png', component:MemberAvatarComponent}


怎么在MemberAvatarComponent中输出assets/avatar/x中的图片
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
街头小贩 2020-12-22
  • 打赏
  • 举报
回复

import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Component({
  selector: 'app-member-avatar-show',
  template: "",
  styles: [``]
})
export class MemberAvatarShowComponent implements OnInit {
  //public image!: string

  constructor(private http: HttpClient,private sanitizer: DomSanitizer) { }

  ngOnInit(): void {
    this.getLocalAvatarFile();
  }

  private getLocalAvatarFile() {
    this.http.get("assets/avatar/default/1.jpeg", {'responseType':'blob'}).subscribe({
      next: response => {
        let file = new Blob([response as Blob], { type: 'image/jpeg'}); //'application/octet-stream'
        var fileURL = URL.createObjectURL(file);
        window.open(fileURL); //新标签页中打开
        //当前标签页中显示
        //var image = new Image();
        //image.src = fileURL;
        //document.body.appendChild(image);
      },
      error: err => {
        console.log(err);
        let em:string='';
        if (err instanceof HttpErrorResponse) {
          if (err.error instanceof ErrorEvent) {
            em = err.error.message;
          } else {
            em = err.error;
          }
        } else if (err instanceof Error) {
          em = err.message;
        } else { em = err; }
        console.log('[MemberAvatarShowComponent-CTL]show avatar error:'+em);
      },
      complete: () => {
        console.log('[MemberAvatarShowComponent-CTL]show avatar Completed');
      }
    });
  }
}
街头小贩 2020-12-22
  • 打赏
  • 举报
回复

import { Component, OnInit } from '@angular/core';
@Component({
  selector: 'app-member-avatar-show',
  template: "<img [src]='image' />",
  styles: [``]
})
export class MemberAvatarShowComponent implements OnInit {
  public image!: string

  constructor() { }

  ngOnInit(): void {
    this.getLocalAvatarFile();
  }

  private getLocalAvatarFile() {
    this.image = "assets/avatar/default/1.jpeg";
  }
}

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧