java下載url路徑包含中文需要轉義的操作
大家看這個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路徑包含中文需要轉義的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. IDEA設置編碼背景色的方法2. IntelliJ IDEA 刷題利器 LeetCode 插件詳解3. XML解析錯誤:未組織好 的解決辦法4. 使用idea搭建springboot initializer服務器的問題分析5. 圖文詳解如何在WordPress中嵌入iFrame6. php + ajax 實現的寫入數據庫操作簡單示例7. PHP ajax跨子域的解決方案之document.domain+iframe實例分析8. idea 創建properties配置文件的步驟9. idea自定義快捷鍵的方法步驟10. vue-element-admin中node-sass換成dart-sass,安裝依賴報code 128多種問題的解決方法
