Получение кода ответа HTTP -1 из POST-запроса

#nativescript #angular2-nativescript

#nativescript #angular2-nativescript

Вопрос:

Я пытаюсь загрузить файл на сервер, и я продолжаю получать код ответа об ошибке -1.

Это для приложения NativeScript, созданного с помощью Angular, и я использую фоновый плагин NativeScript HTTP.

component.ts

 onCreateRecipe() {
      console.log(this.imageUris);

    const recipeForm = { 
      name: this.form.get('name').value, 
      description: this.form.get('description').value, 
      photo: this.imageUris[0], 
      ingredients: this.form.get('ingredients').value,       
      // steps: this.form.get('steps').value,
      // tag: 'poultry recipe'
      type: this.recipeType
    };
    console.log(recipeForm);
    this.apiService.postRecipe(recipeForm).subscribe(res => console.log(res));
  }
  

service.ts

 postRecipe(recipe) {
    const session = bghttp.session('image-upload');
    const subject = new Subject<any>();

    const request = {
      url: `${this.apiURL}/recipe/1`,
      method: 'POST',
      headers: {
        "Content-Type": "application/octet-stream"
      },
      description: 'test'
    };

    let task: bghttp.Task;
    const params = [
      { name: 'name', value: recipe.name },
      { name: 'description', value: recipe.description },
      { name: 'photo', filename: recipe.photo, mimeType: 'image/png' },
      { name: 'ingredients', value: JSON.stringify(recipe.ingredients) }
    ];
    console.log(params);
    task = session.multipartUpload(params, request);
    task.on('responded', (event: any) => {
      if (event.data amp;amp; event.data.error) {
        subject.error(event.data);
      } else {
        subject.next(event.data);
      }
    });
    // task.on('error', (event) => subject.error(event));
    task.on('error', (e) =>console.log("received "   e.responseCode   " code."));
    return subject;
  }
  

Примечание: ingredients — это FormArray, поэтому я должен использовать JSON.Stringify для передачи его плагину. recipe.photo — это путь к файлу изображения.

Я ожидаю, что все данные, включая файл изображения, будут загружены на сервер, но сейчас загружается только изображение.

Комментарии:

1. Значение -1 в качестве кода ответа звучит как проблема CORS. Пожалуйста, дважды проверьте, является ли это проблемой.

2. Да, я не думаю, что это проблема, потому что я могу отправлять запросы GET с сервера. Но я позабочусь о том, чтобы проблема была не в этом.