Доступ к XMLHttpRequest по адресу http://localhost:9090/api/auth/produits/files' из источника http://localhost:4200' заблокирован политикой CORS - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу сохранить файл (изображение) в моей подаче, но это у меня есть эта проблема

import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';
import {FileUploader} from 'ng2-file-upload'; @Component({
 selector: 'app-root',
 templateUrl
 ./app.component.html','
 styleUrls: ['./app.component.scss']  
 })
 export class 
 here AppComponent implements OnInit {
 @ViewChild('fileInput') fileInput: ElementRef; 
 uploader: FileUploader;
 isDropOver: boolean; ngOnInit(): void {
 const headers = 
 [{name: 'Accept', value: 'application/json'}];
 this.uploader = new FileUploader({url: 
 'http://localhost:9090/api/auth/produits/files', autoUpload: true, 
  headers: headers});
  this.uploader.onCompleteAll = () => alert('File uploaded');
  }
  fileOverAnother(e: any): 
  void {
  this.isDropOver = e;
  }
  fileClicked() {
  this.fileInput.nativeElement.click();
  }
  }  


@CrossOrigin(origins = "http://localhost:4200")
@RestController
@RequestMapping("/api/auth")
@PostMapping(value = "/produits/files")
@ResponseStatus(HttpStatus.OK)
public void handleFileUpload(@RequestParam("file") MultipartFile file) 
throws IOException {
    fileService.storeFile(file);
}

Доступ к XMLHttpRequest на http://localhost:9090/api/auth/produits/files' от происхождения 'http://localhost:4200' заблокирован политикой CORS: Ответ на предварительный запрос не проходит проверку контроля доступа: значение Заголовок «Access-Control-Allow-Origin» в ответе не должен быть подстановочный знак '*', когда режим учетных данных запроса 'include'. режим учетных данных для запросов, инициированных XMLHttpRequest:
управляется атрибутом withCredentials.
я не знаю, в чем проблема с этим кодом. помогите мне пожалуйста?

1 Ответ

1 голос
/ 30 апреля 2019

Похоже, что разрешенные опции заголовков не определены:

@CrossOrigin(origins = "http://localhost:4200", allowedHeaders={"Accept"})
@RestController
@RequestMapping("/api/auth")
@PostMapping(value = "/produits/files")
@ResponseStatus(HttpStatus.OK)
public void handleFileUpload(@RequestParam("file") MultipartFile file) 
throws IOException {
    fileService.storeFile(file);
}

При указании crossorigin вы можете настроить его, указав следующие аннотации: происхождение, методы, allowHeaders ,ctedHeaders, allowCredentials или maxAge

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...