代码之家  ›  专栏  ›  技术社区  ›  Tobias Etter

Angular 4新的HttpClient内容处理头

  •  20
  • Tobias Etter  · 技术社区  · 8 年前

    我试图使用新的HttpClient从后端获取一个文件(数组缓冲区)。

    我的代码大致如下:

    this.http.post(url, body, {responseType: 'blob', observe: 'response'})
      .subscribe(resp => {
        console.log(resp.headers.get('content-disposition'));
      });
    

    我的浏览器控制台中的repsonse是 无效的

    当我查看网络选项卡时,我看到内容配置的值如下 附件filename=“无论如何”

    如果我试图 内容类型 相反,我收到了一些东西。

    你经历过类似的事情吗?或者你能告诉我我还需要做什么吗? 非常感谢

    2 回复  |  直到 8 年前
        1
  •  56
  •   kair    8 年前

    我也发现了同样的问题 https://stackoverflow.com/a/45482346/1909698

    添加后对我有效 'Access-Control-Expose-Headers': 'Content-Disposition' 在我的后端响应标头中。

        2
  •  0
  •   Alessio    5 年前

    如果后端正在使用 SpringSecurity 你需要添加 ExposeHeader 配置源 :

    @Bean
    protected CorsConfigurationSource corsConfigurationSource() {
        CorsConfiguration configuration = new CorsConfiguration();
        configuration.addExposedHeader("Content-Disposition");
        return source;
    }
    
    推荐文章