java下載url路徑包含中文需要轉義的操作
阿新 • • 發佈:2020-12-04
大家看這個url:
http://127.0.0.1:9997/file/江蘇省地震應急預案(二級).docx
應為url路徑中有中文沒有轉義,輸入流報錯
The valid characters are defined in RFC 7230 and RFC 398
下面我們對中文路徑進行擷取轉義
int lastIndexOf = downloadUrl.lastIndexOf('/'); String fileName = downloadUrl.substring(lastIndexOf + 1); // 轉義關鍵程式碼 String newFileName = URLEncoder.encode(fileName,"utf-8"); String subUrl = downloadUrl.substring(0,lastIndexOf + 1); String newUrl = subUrl + newFileName; URL url = new URL(newUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection();
補充知識:Java中URL傳遞中文字元成亂碼,及引數轉義符轉換
頁面使用此函式
function URLencode(sStr) { return escape(sStr). replace(/\+/g,'%2B'). replace(/\"/g,'%22'). replace(/\'/g,'%27'). replace(/\//g,'%2F'); }
處理一下url 要傳的引數,這樣就可以傳到後臺想要的特殊字元了
以上這篇java下載url路徑包含中文需要轉義的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。