前言:web端直接展示heic图片会出现裂图,所以需要处理一下

html部分: 

<div class="pic-box">
  <img [src]="item.path | imageDomain" />
</div>

js部分:

// 创建图片拼接域名管道
import { Pipe, PipeTransform } from '@angular/core';
import { environment } from '@env/environment';

@Pipe({
  name: 'imageDomain',
})

export class ImageDomainPipe implements PipeTransform {
  // path,当前图片字段,例:'image/test/verification/aaa.jpg'
  transform(path: string) {
   let getImageFormat;
   if (path) {
     getImageFormat = path.substring(path.lastIndexOf('.') + 1, path.length); // 截取图片格式
     getImageFormat = getImageFormat.toLowerCase(); // 图片格式转成小写
     
     // 如果图片格式包含了heic则拼接后缀即可
     const changeImageFormat = getImageFormat.indexOf('heic') > -1 ? '?x-oss-process=image/format,png' : '';
     // environment.imageDomain,为你当前环境的图片域名
     // 返回一个完整的图片地址
     return environment.imageDomain + '/' + path + changeImageFormat;
    }
  }
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐