最近做一個小項目時裡面有個用JavaScript預覽本地圖片的功能,但是我在IE中調試怎麼都不顯示.
用IE的開發人員工具(F12)對JavaScript進行調試監視path=C:/fakepath/Chrysanthemum.jpg
到了document.getElementById("myimg").src=path執行過後得到的路徑是file:///C:/fakepath/Chrysanthemum.jpg
於是在網上開始找解決方案,現在把找到的方案分享給大家!
原因是IE8增加了安全選項,預設情況下不顯示上傳檔案的真實路徑,進入internet選項,修改下設定即可顯示真實的檔案路徑。
操作如下:工具 -> Internet選項 -> 安全 -> 自訂層級 -> 找到“其他”中的“將本地檔案上傳至伺服器時包含本地目錄路徑”,選中“啟用”即可。
當然有些人會說,你總不能要求你的客戶也去做這些設定吧,所以還得找其他的解決方案
1 <script type="text/javascript">
2 function getPath(obj) {
3 if (obj) {
4 if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
5 obj.select(); return document.selection.createRange().text;
6 }
7 else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
8 if (obj.files) {
9 return obj.files.item(0).getAsDataURL();
10 }
11 return obj.value;
12 }
13 return obj.value;
14 }
15 }
16
17 //以下即為完整用戶端路徑
18 var filepath=getPath(document.getElementById("iptfileupload"));
19 </script>
上面這種方式就不用客戶修改了,大家可以試試,以上也是我網上找的資料,分享給大家,方便使用~~