У меня возникла эта ошибка, когда я пытаюсь загрузить файл и поместить его в базу данных, используя angular4 в качестве интерфейса
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 403.
это мой сервис
upload(fichier) {
return this._http.post(this._urlbase+'upload',{"file":fichier} ,
{ headers : new HttpHeaders().set('Content-Type', 'multipart/form-data' ). append('Access-Control-Allow-Origin','*')}
) .subscribe(response => {
this.getAllFichiers();
this.snackBar.open('le fichier est bien ajouté', 'Annuler', {
duration: 2000,
});
}, error => {
console.error('erreur de l\'ajout ', error);
})
}
а это мой component.ts
upload() {
let fichier=this.fileInput.nativeElement.files[0];
console.info(fichier);
const formdata=new FormData();
formdata.append('file',fichier);
console.info(formdata);
this.fileManagerService.upload(fichier);}
для бэкэнда я использую весеннюю загрузку, и я добавил поперечное происхождение, чтобы разрешить доступ:
@CrossOrigin(exposedHeaders = "Access-Control-Allow-Origin")
Я пытаюсь использовать ARc в качестве клиента, и это работает. но когда я хочу с угловым. это кажется непростым ... может кто-нибудь мне помочь Спасибо





Вы можете добавить: @CrossOrigin ("*")
@RestController
@RequestMapping("api")
@CrossOrigin("*")
public class Service () {
// Code
}