javascript 获取文件域 (type=file) 的完整路径一直是很麻烦的问题,问题主要出在一些浏览器基于安全性考虑而不能正常获取到文件域中选中图片的决对路径,尤其一些基于webkit的浏览器比如 Chrome, Safire等浏览器,下面是一个可以兼容 IE 6 , 7, 8 和 firefox 的获取 input file 完整路径的方法,该方法不支持 Chrome 和 Safire,要支持这些浏览器可能要使用到 Flash ,对程序员来说比较麻烦。
HTML页面: <input type="file" name="attachment" id="attachment" /> <input type="text" name="trueattachment" id="trueattachment" />
js部分:<script type="text/javascript">var attachment=document.getElementById("attachment");var trueattachment=document.getElementById("trueattachment");attachment.onchange=function(){trueattachment.value=getFullPath(this);}function getFullPath(obj){ if(obj) { //ie if (window.navigator.userAgent.indexOf("MSIE")>=1) { obj.select(); return document.selection.createRange().text; } //firefox else if(window.navigator.userAgent.indexOf("Firefox")>=1) { if(obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } } </script>
时间: 2024-08-28 21:34:41