【发布时间】:2018-01-29 13:47:42
【问题描述】:
我创建了一个检查文件是否存在的服务。
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
当我在浏览器中打开 url 时,会显示 pdf,但是当我通过服务运行路径时,我得到一个 404
HttpErrorResponse {
headers: HttpHeaders,
status: 404,
statusText: "OK",
url: "https://localhost:4200/assets/text/text.pdf",
ok: false,
}
编辑:当我用 get 替换 head 时,我得到一个“%PDf 中的意外令牌 %...”,这意味着它找到了 PDF 的正文
https://github.com/angular/angular-cli/issues/5170
如果您对此有解决方案...
【问题讨论】:
-
你对这条路径进行编码吗?
-
没有。我认为它来自服务器不允许头部请求...
-
你在 Postman 中尝试过 HEAD 请求吗?
-
如果您使用的是 HttpClient(不是 http),则必须添加 {observe:'response'} 以获得完整响应,请参阅 angular.io/guide/http#reading-the-full-response
-
@D.Simon 邮递员也说 404。在 Eliseo 我根本没有得到任何回应。
标签: angular typescript rxjs httprequest