Я создал приложение со следующей архитектурой:
- Клиент: Угловой 7
- Серверная часть: пружинная загрузка
Цель состоит в том, чтобы сделать снимок экрана пользователя и сравнить его с изображением в базе данных с помощью AWS Rekognition API.
Но я продолжаю получать ошибку CORS
- Передняя сторона выполняет POST-вызовы сзади (REST API, построенный с использованием Spring) и отправляет изображение
- Back получает изображение и отправляет его в AWSRekognition API (используя AWS SDK) с целевым изображением, хранящимся в базе данных
- API AWS отправляет обратно результат
- API-интерфейс Back Spring отправляет обратно клиенту результат
Когда я использую Postman и сохраняю код, который вызывает API-интерфейс AWS: ОК, он работает нормально
Когда я пытаюсь запустить свой веб-браузер и СОХРАНИТЬ код вызова AWS API: я получаю ошибку CORS
Вот скриншот почтальона:
Вот угловой код:
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);
});
}
});
}
Вот запрос.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