Ответ на предварительный запрос не проходит проверку контроля доступа: нет заголовка «Access-Control-Allow-Origin» - PullRequest
0 голосов
/ 02 мая 2018

Я получил эту ошибку, когда я пытаюсь загрузить файл и поместить его в базу данных, используя 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.log(fichier);  
      const formdata=new FormData();
     formdata.append('file',fichier);
     console.log(formdata);
   this.fileManagerService.upload(fichier);}

для бэкэнда я использую пружинную загрузку, и я добавил через источник, чтобы разрешить доступ:

@CrossOrigin(exposedHeaders="Access-Control-Allow-Origin")

Я пытаюсь использовать ARc в качестве клиента, и это работает. но когда я хочу с угловым. Кажется, это нелегко спасибо

1 Ответ

0 голосов
/ 03 мая 2018

Вы можете добавить: @CrossOrigin ("*")

@RestController
@RequestMapping("api")
@CrossOrigin("*")
public class Service () {
  // Code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...