Java 通过http发送字节[]

Java 通过http发送字节[],java,angular,file,http,byte,Java,Angular,File,Http,Byte,我确实从基于角度的客户端通过http获取请求,该客户端希望从java服务器获得一个字节数组作为答案 安全套 通过http传输时遇到分析错误: HttpErrorResponse: 消息:“解析…时Http失败” 错误:“错误:SyntaxError:在XMLHttpRequest.onLoad的JSON.parse位置0处的JSON中出现意外标记% 知道为什么会发生这种情况吗?之所以会发生这种情况,是因为您调用了get重载,该重载使用了一个通用参数: this.httpClient.get<

我确实从基于角度的客户端通过http获取请求,该客户端希望从java服务器获得一个字节数组作为答案

安全套

通过http传输时遇到分析错误: HttpErrorResponse:

消息:“解析…时Http失败” 错误:“错误:SyntaxError:在XMLHttpRequest.onLoad的JSON.parse位置0处的JSON中出现意外标记%
知道为什么会发生这种情况吗?

之所以会发生这种情况,是因为您调用了get重载,该重载使用了一个通用参数:

this.httpClient.get<any>(...)
此重载将响应类型设置为JSON,从而告诉HttpClient将响应体解析为JSON并返回生成的对象或数组。因为您不想接收JSON,所以必须使用另一个重载

他是你的朋友


例如,如果您想要接收一个Blob,您将使用第二个重载,记录为返回一个可观察的,并期望responseType为“Blob”的选项。

我在错误消息处看到了一个google,您的响应似乎不是有效的JSON格式。至于为什么会这样,我不太确定
     @GetMapping("/downloadpdf")
        public String downloadDocument(@RequestParam("docId") final String docId) {
            String response = (new String(getBytesArray(docId)));
            // getBytesArray returns a byte[]
            // response correctly computed
            return response;
        }
this.httpClient.get<any>(...)