Pdf.js 傳遞一個帶 # 的 path 出錯

Android中用Pdf.js 查看PDF文件,
docPath 為一個sdcard上的可訪問PDF文件路徑

 loadUrl("file:///android_asset/web/viewer.html?file=" + docPath);

發(fā)現(xiàn)當path中存在# 時,文件不能打開,
首先想到對docPath做encode處理,以解決一些特殊字符問題;
大部分特殊字符encode后,都變得有效(不encode,文件打不開),
但發(fā)現(xiàn)當path中存在# 和 空格時,文件仍無法正常打開,當然,
如果不encode,空格是有效的;然后試著把空格replace回來,發(fā)現(xiàn)可以了;
但 “#” encode前后都不行,“#” encode后是“%23”,試著把“%”再encode一下,
變成“%2523”,就好了!!

 if (!TextUtils.isEmpty(docPath)) {
              String path = null;
              try {// 獲取以字符編碼為utf-8的字符
                  path = URLEncoder.encode(docPath,"utf-8");
                  docPath = path.replace("%2F","/").replace("+", " ")
                  .replace("%23", "%2523");
              } catch (UnsupportedEncodingException e) {
                  e.printStackTrace();
              }
          }
          loadUrl("file:///android_asset/web/viewer.html?file=" + docPath);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容