1. 程式人生 > >jsp頁面post傳參將+替換成了空格

jsp頁面post傳參將+替換成了空格

前段時間寫了個檔案操作流程,然後遇到這樣一個問題,檔案上傳成功,檔名和路徑也能正常顯示,但是將路徑傳遞到後臺進行下載卻始終失敗,看了下日誌報的是找不到此檔案,對比了下檔案路徑,發現後臺接收到的檔案路徑,+變成了空格,原理就不多說了,網上一堆,這裡提供一個解決方法。

這其實也就是用任意字元替換+

/ 為正確傳遞加號和空格到前臺,後臺編碼前將+替換成%2B,編碼後將空格替換成+ 
// 相應地,前臺在解碼後,先把+替換成空格,再把%2B替換成+

1、後臺 
out.print(URLEncoder.encode(json.replaceAll(“\+”, “%2B”), “UTF-8”) 
.replaceAll(” “, “+”) 
);

2、前臺 
decodeURI(result).replace(/+/g, ’ ‘).replace(/\%2B/g, ‘+’);