Угловая загрузка файла 2 с использованием данных формы

Я хочу реализовать функцию загрузки файлов в моем angular2 проект. Я хочу ограничить пользователя загружать только файлы определенного типа: .pdf, .doc а также .docx,

Вот мой код для fileChange:

  fileChange(event) {
    let fileList: FileList = event.target.files;
    if(fileList.length > 0) {
      let file: File = fileList[0];
      console.log('file',file);

      var formData = new FormData();
      formData.append('file', file, file.name);
      var options = { content: formData };

      console.log('options',options);
      var jsonBody = {};
      jsonBody['submoduleid'] = '3789e76489fc4e118f8dffad107fbbbd';
      jsonBody['file'] = options;
      console.log('jsonbody',jsonBody);

      this.Module7Service.uploadFile(jsonBody) 
      .subscribe(
        data => {
          console.log(data.Response)
          if (data.message == "module7 finish") {
            console.log('after success',jsonBody)
            alert('done file uploaded successfully');
          }
          else{
            alert('not uploaded');
          }
      });
    }
  }

Вот мой код для uploadFile:

  //service code
  uploadFile(file){
    const body = file;
    const headers = new Headers({
      'Authorization': window.localStorage.getItem('token'),
      'content_type' : 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW',
      'Accept': 'application/json',
      'Access-Control-Allow-Origin' : '*',
      'Access-Control-Allow-Credentials': 'true',
      'Access-Control-Allow-Methods': 'GET,HEAD,OPTIONS,POST,PUT',
      'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept',
      'Source': 'WEB'
    });
    return this.http.post(this.apiUrl + 'module7/', { body: body }, { headers: headers })
      .map(
      res => {
        return res.json();
      },
      error => alert("आपली विनंती आत्ता पूर्ण करू शकत नाही, कृपया पुन्हा प्रयत्न करा."));
  }

И это input HTML-тег:

<input type="file" (change)="fileChange($event)"
       placeholder="Upload file" accept=".pdf,.doc,.docx">

Я добавил все необходимые ключи, форм-данные и т. Д., Но при загрузке файла я получаю сообщение об ошибке:

XMLHttpRequest не может загрузить "apiurl". Поле заголовка запроса Access-Control-Allow-Methods не разрешено Access-Control-Allow-Headers в предварительном ответе.

Вот изображение ошибки в консоли браузера.

Что может быть источником этой проблемы?

0 ответов

Другие вопросы по тегам