【发布时间】:2018-10-24 05:44:48
【问题描述】:
我在服务器上设置了一个基于 Java 的 API。 URL = "ex.com"
它有一个返回 PDF 文件的端点。 URL = "ex.com/pdf"
它需要一个带有参数的 POST 请求,该参数指定正在请求哪个 PDF。 params = { location: "report.pdf"}
我希望能够使用 Angular Http.post observable 来获取 PDF,但它不断抛出 HttpErrorResponse Http failure during parsing for http://ex.com/pdf ... Unexpected token % in JSON at position 0 at JSON.parse。但它是一个 PDF,我不希望它被解析为 JSON。
这是我的代码:
params = {location: "report.pdf"};
return this.http.post<Response>("http://ex.com/pdf", params)
.subscribe(
data => {
var file = new Blob([data], {type: 'application/pdf'});
var fileURL = URL.createObjectURL(file);
window.open(fileURL);
}
);
端点与 PostMan 一起使用。我可以使用“发送和下载”选项成功获取 PDF 文件。所以我只需要弄清楚如何在 Angular 中处理。感谢您的帮助。
【问题讨论】:
-
和http错误响应信息是?...
-
那么您似乎返回了无效的 JSON 数据
-
对不起.. 错误是“ex.com/pdf 解析期间 Http 失败”
-
@mast3rd3mon 重点在于它不是 JSON。它是一个PDF。端点有效。我只需要弄清楚如何获得角度来使用它。
-
如果它没有返回 JSON,那么你应该将它作为 base64 发送,这样它就很容易使用
标签: angular typescript