尝试在角度7

时间:2019-01-09 15:35:37

标签: angular postman

我已经构建了具有以下架构的应用程序:

  • 客户端:Angular 7
  • 后端:春季启动

目标是使用AWS Rekognition API拍摄用户的屏幕截图,并将其与数据库中的图片进行比较。 但我不断收到CORS错误


  1. 前端对后端(使用Spring构建的REST api)进行POST调用并发送图像
  2. Back获取图像并将其与存储在数据库中的目标图像一起发送到AWSRekognition API(使用AWS开发工具包)
  3. AWS api发送回结果
  4. Back Spring api将结果发送回前端

  • 当我使用Postman并保留调用AWS API的代码时:可以正常工作

  • 当我尝试使用Web浏览器并保留AWS API调用代码时:出现CORS错误 这是邮递员的屏幕截图:

这是Angular代码: picture.components.ts

  /**
   * take picture from camera
   */
  takeSnap(){
this.canvas.getContext("2d").drawImage(this.video, 0, 0, 300, 300, 0, 0, 300, 300);

this.canvas.toBlob((res)=>{
  console.log(res);
  let img: File ;
  img = res;

  if (this.selectedUserId!=null) {

    let authInfo = new FormData();

    authInfo.append("image" , new File([img], 'img')); 
    authInfo.append("id" , this.selectedUserId.toString()); 

    this.requestSer.identify(authInfo).subscribe((x)=>{
      this.readVerifyResponse(x);
    });
  }
});


  }

这是request.service.ts

export class RequestService {

 constructor(
    private http  : HttpClient,
    private globals: Globals
    ) { }

/**
 * Send image to veify identity
 * @param img File
 */
  identify(authInfo) : Observable<File>{
    return this.http.post<File>(this.globals.server_full+'rekognition/compareFaces' , authInfo);
  }

如果有人可以帮助我,那就太好了, 干杯 亚历克西斯(Alexis)

0 个答案:

没有答案