先上最終解決代碼 有待驗證各瀏覽器效果 : 重點在於黃色記號筆標注的那行代碼。網上大多資料都是這么寫的: 這種寫法對應純英文的文件名是沒有問題的,因為 Content Disposition 里面的 filename ,不是RFC標准,僅支持ASCII編碼的文件名。如果文件名不是英文的,就會出現名字亂碼,或者被改名的情況。 如何直接采用解碼的方式也還是會出現byte數組的文件名: 得到的結果類似 ...
2019-09-17 11:12 0 705 推薦指數:
在寫文件下載的時候遇到的一個問題,也就是下載的文件的文件名是中文的話,瀏覽器下載的時候可能是亂碼,解決方案如下: 因為從服務器向瀏覽器發送中文時,需要對內容進行URL編碼。 > 大部分瀏覽器使用如下方式即可解決亂碼問題:URLEncoder.encode(fileName ...
1.首先,jsp頁面進行下載的那段話需要使用<s:url>標簽: 2.struts2.xml文件中的配置: 這里解釋一下:fileName是前台jsp傳過來的參數,dnfileName是顯示給下載用戶看文件名的參數,在Action中初始化(因為如果文件名 ...
首先在文件下載時,請求類型需要設置編碼 : 最終文件名處理交給UserAgentUtil的encodeFileName: 這樣在進行文件下載時,使用這個工具類對文件名進行一次編碼,就可以處理不同瀏覽器下載文件亂碼的問題了。 參考 開源中國 ...
Headers.add("Content-Disposition", "attachment;filename=" + new String(file.getBytes("utf-8"),"i ...
//遇到的現象是,下載含有中文文件名的文件時,能獲取到文件,但是使用IE正常,使用firefox,chrome文件名卻亂碼.//既然如此,就區分一下瀏覽器再返回好了,處理方式如下 ...