Редактировать: Исправлено.Я должен был добавить это к своему ответу:
.subscribe(data =>{
console.log('data is here: ', data);
});
Я прочитал целую кучу статей по этому вопросу, но не могу заставить его работать.
Среда: Angular 5, NodeJS backendс экспрессом.Использование Express-FileUpload для загрузки файла.
Я попробовал мой API с этим простым HTML:
<html>
<body>
<form ref='uploadForm'
id='uploadForm'
action='http://192.168.1.20:8275/api/upload'
method='post'
encType="multipart/form-data">
<input type="file" name="sampleFile" />
<input type='submit' value='Upload!' />
</form>
</body>
</html>
Я понял, что мой API работает нормально, Конечная точка API получает запрос от HTMLпросто хорошо.Вот что я пытаюсь сделать Angular:
let body = new FormData();
body.append("file", file, 'thefilename');
let options: RequestOptions = new RequestOptions();
options.headers = new Headers();
let response: Observable<Response> = this.http.post('http://192.168.1.20:8275/api/upload', body, options); //code just breaks here and exists silently
response.map(json =>{
console.log('gotcha')
}),err =>{
console.log('error: ', err);
};
Код Angular не работает.После POST-вызова он прерывается и бесшумно завершается.Ничего в консоли, нет ошибки.И я не могу понять, почему?Я прочитал статьи и обнаружил, что нам не нужно предоставлять тип контента, чтобы он работал.Я тоже это попробовал, но не повезло.В чем может быть проблема?