tomcat下 下載檔案,下載地址含有中文,解決辦法
阿新 • • 發佈:2018-12-30
(一)修改Tomcat配置檔案方法:
找到Tomcat 目錄,開啟config/server.xml檔案,新增一段程式碼即可。如紅色的字型
<Connector port="8080"
URIEncoding="utf-8"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
這段程式碼規定了Tomcat監聽HTTP請求的埠號等資訊,可以在這裡新增一個屬性:URIEncoding,將該屬性值設定為UTF-8,即可讓Tomcat不再以ISO-8859-1的編碼處理get請求。更改後的程式碼(紅色部分為新新增的程式碼)
(二)Java程式碼實現
找到Tomcat 目錄,開啟config/server.xml檔案,新增一段程式碼即可。如紅色的字型
<Connector port="8080"
URIEncoding="utf-8"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
這段程式碼規定了Tomcat監聽HTTP請求的埠號等資訊,可以在這裡新增一個屬性:URIEncoding,將該屬性值設定為UTF-8,即可讓Tomcat不再以ISO-8859-1的編碼處理get請求。更改後的程式碼(紅色部分為新新增的程式碼)
(二)Java程式碼實現
java.net.URLConnection和java.net.URL是遠端讀取檔案重要的類。因為當前的檔名是中文
,如果直接構造字串“http://localhost:8080/ahoa_test/filetemp/營業部執照.jpg”
讀取遠端檔案必要要出錯。需要對"中文檔案.txt"進行編碼,如下程式碼:
String name="營業部執照.jpg"; try { name=java.net.URLEncoder.encode(name,"UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(name); 輸出結果為:%E8%90%A5%E4%B8%9A%E9%83%A8%E6%89%A7%E7%85%A7.jpg
瀏覽器中輸入:
http://localhost:8080/ahoa_test/filetemp/%E8%90%A5%E4%B8%9A%E9%83%A8%E6%89%A7%E7%85%A7.jpg
得到結果: