编辑:修正。我不得不将此添加到我的回复中:
.subscribe(data =>{
console.log('data is here: ', data);
});
我已经阅读了关于这一篇文章的一大堆文章,但无法让它发挥作用。
环境:Angular 5,带有Express的NodeJS后端。使用Express-FileUpload上传文件。
我用这个简单的HTML尝试了我的API:
<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);
};
角度代码不起作用。在POST调用之后,它会中断并以静默方式退出。在控制台没有任何东西,没有错误。我无法弄清楚为什么?我阅读了文章,发现我们不必提供内容类型以使其有效。我也试过但没有运气。可能是什么问题?