您好,登錄后才能下訂單哦!
這篇文章主要講解了“response.setHeader設置下載文件名無效怎么解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“response.setHeader設置下載文件名無效怎么解決”吧!
response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=down.xls");
設置后,點擊下載的文件名無效,是方法的名字
將以上的代碼放到流的前面即可。
最近搭建架構的時候,使用了HandlerInterceptorAdapter,
在afterCompletion 或 postHandle中使用了response.setHeader("token", token);
初衷是想在方法執行完成后,把新的jwt令牌返回給調用方。
但是實際返回中獲取不到set的值。
response的header設置,要在緩沖區裝入響應內容之前,http的協議是按照響應狀態行、各響應頭和響應正文的順序輸出的,后寫的header就不生效了。所以在preHandle里寫header就可以生效了的。
1、Servlet程序輸出的HTTP消息的響應正文首先被寫入到Servlet引擎提供的一個輸出緩沖區中,直到輸出緩沖區被填滿或者Servlet程序已經寫入了所有的響應內容,緩沖區中的內容才會被Servlet引擎發送到客戶端。
2、使用輸出緩沖區后,Servlet引擎就可以將響應狀態行、各響應頭和響應正文嚴格按照HTTP消息的位置順序進行調整后再輸出到客戶端。
3、如果在提交響應到客戶端時,輸出緩沖區中已經裝入了所有的響應內容,Servlet引擎將計算響應正文部分的大小并自動設置Content-Length頭字段。
4、如果在提交響應到客戶端時,輸出緩沖區中裝入的內容只是全部響應內容的一部分, Servlet引擎將使用HTTP 1.1的chunked編碼方式(通過設置Transfer-Encoding頭字段來指定)傳輸響應內容。
感謝各位的閱讀,以上就是“response.setHeader設置下載文件名無效怎么解決”的內容了,經過本文的學習后,相信大家對response.setHeader設置下載文件名無效怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。