angular HttpClient 讀取headers時有些內容讀取不到

今天項目上做了一個下載文件,後臺返回ResponseEntity,裏面的HttpHeaders的Content-Disposition存放了文件名。

header.add("Content-Type", "application/octet-stream");
header.add("Content-Disposition", "attachment; filename*=file.json");

現在前臺想獲取文件blob和文件名。

this.httpClient.post('download', null, {
      headers: headers,
      observe: 'response',
      params: {
        fileType: 'JSON',
        category: 'MASTER',
        masterType: 'SCREEN_JSON',
        decisionType: '',
        recommendId: '1',
        recommendDeviceGroupId: '',
        recommendReasonGroupId: '',
        decisionDocId: ''
      },
      responseType: 'blob'
    }).subscribe((response: HttpResponse<Blob>) => {
      if (response) {
        const headers: HttpHeaders = response.headers;
        console.log(headers.get('content-disposition'));
      }
    });

 但是headers裏只能看到下面兩個值

只需在後臺加上下面即可

header.add("Access-Control-Expose-Headers", "*"); 

我猜測可能是HttpClient有安全機制,只有有權限才能讀取全部headers信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章