我创建了一个检查文件是否存在的服务。
fileExists(path: string): Observable<boolean> {
return this.http.head(path)
.mapTo(true)
.catch((error) => {
console.log(error);
return Observable.of(false);
});
}
我有一个pdf文件: /assets/text/text.pdf
当我在浏览器中打开网址时,会显示pdf,但是当我在服务中运行路径时,我会得到 404
HttpErrorResponse {
headers: HttpHeaders,
status: 404,
statusText: "OK",
url: "https://localhost:4200/assets/text/text.pdf",
ok: false,
}
编辑:当我用获取替换 head 时,我得到“%PDf中的意外标记%...”,这意味着它找到了PDF的正文
https://github.com/angular/angular-cli/issues/5170
如果你有解决方案......
答案 0 :(得分:0)
经过调查,webpack dev服务器不允许设计HEAD请求。
https://github.com/angular/angular-cli/issues/5170
https://github.com/webpack/webpack-dev-server/issues/924
可以创建一个代理但它用GET取代HEAD,这是没有意义的。 另一种解决方案是修改中间件,使其接受问题924中描述的HEAD,这是过度杀伤。