axios無法獲取響應頭headers的Content-Disposition字段


axios 返回 response 響應頭 headers 默認返回全小寫

Access-Control-Expose-Headers

默認情況下,header只有六種 simple response headers (簡單響應首部)可以暴露給外部:

  • Cache-Control
  • Content-Language
  • Content-Type
  • Expires
  • Last-Modified
  • Pragma

這里的暴露給外部,意思是讓客戶端可以訪問得到,既可以在 Network 里看到,也可以在代碼里獲取到他們的值。

上面問題提到的 content-disposition 不在其中,所以即使服務器在協議回包里加了該字段,但因沒“暴露”給外部,客戶端就“看得到,吃不到”。

而響應首部 Access-Control-Expose-Headers 就是控制“暴露”的開關,它列出了哪些首部可以作為響應的一部分暴露給外部。

所以如果想要讓客戶端可以訪問到其他的首部信息,服務器不僅要在heade里加入該首部,還要將它們在 Access-Control-Expose-Headers 里面列出來

解決辦法

后端設置:

  response.setHeader("Access-Control-Expose-Headers", "Content-Disposition")
  response.setHeader("Content-Disposition", ...)

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM