如何使用rxjs从后端api获取头属性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用rxjs从后端api获取头属性?相关的知识,希望对你有一定的参考价值。

我从后端获取文件流。标头保留带扩展名的文件名。但是如何在最后获得这些财产。这是我的代码,没有得到值也没有错误。

downloadFile(id:number):Observable<any> {

        const options = { responseType: 'blob' as 'json' }

        return this.http.get<any>(environment.baseUrl+`CourseFileUpload/${id}`, options)
        .pipe(
            map((file) => {
                console.log('header', file.headers('Content-Disposition')); //not getting header value...!?
                return new Blob([file], {type: "application/octet-stream"})
            }),
            catchError(this.handleError)
        )
    }

任何人帮助我?

我尝试过如下建议:

downloadFile(id:number):Observable<any> {

        const headers = new HttpHeaders({ observe: 'response'});
        const options = { responseType: 'blob' as 'json', headers:headers  }

        return this.http.get<any>(environment.baseUrl+`CourseFileUpload/${id}`,  options )
        .pipe(
            map(resp => {
                if(resp.headers){
                    const keys = resp.headers.keys();
                    console.log('file',  keys); //nothing consoles!?
                }

                return new Blob([resp], {type: "application/octet-stream"})
            }),
            catchError(this.handleError)
        )
    }

没有回应。请任何人帮我获得回复标题?

答案

documentation您需要将observe: 'response'添加到选项中以访问完整的响应对象。

以上是关于如何使用rxjs从后端api获取头属性?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 bloc 未来获取流从后端过滤数据?

如果你有 apollo react 钩子从后端获取数据,你如何使用 nextjs 进行服务器端渲染?

部署到 Netlify 后无法从后端获取数据

Azure API 管理 - 如何刷新访问令牌后端 API?

如何将对象的参数从后端保存到新变量中?

Angular 2 如何从后端读取自定义错误消息