我正在尝试从后端获取压缩文件。请找到httpclient的代码,如下所示:
我在标题中尝试了多个选项,使用不同的选项添加内容类型。但是无法提出确切的模板。我找不到任何相关的东西从角度api中获取服务器的压缩数据。如果有人提出类似的问题,请告诉我。
getSpecialHeaders() {
return new HttpHeaders({
'Content-Encoding': 'gzip',
'specialHeader': '',
'Content-Type': 'gzip'
});
}
getAllUnitsReport() {
//Function to get the gzip data
const headersSpl = this.getSpecialHeaders();
//httpoptions with different options tried in content-type and accept encoding
const httpOptions = {
headers : headersSpl };
return this.httpClient.get(envConfig.appURL.assetAdoption, httpOptions)
.catch((error) => {
return Observable.of(error);
});}
http调用成功后,我收到错误消息,如下所示:
(未知网址)的Http失败响应:0未知错误
Content-Encoding
标头是服务器提供的响应标头。
通常客户端提供Accept-Encoding
标头来指定您要请求的内容编码。
例如:Accept-Encoding: gzip, deflate
请参阅Compressing with gzip上的MDN
但是,此特定标头被标记为forbidden header,这意味着它无法通过在浏览器中执行的Javascript以编程方式设置(但仍然可以在Node中运行)。
大多数浏览器会自动添加一个Accept-Encoding
标头,其中包含它支持的所有内容编码。