用javascript预览本地图片,在IE中调试怎么都不显示。
用IE的开发人员工具(F12)对JavaScript进行调试监视path=C:/fakepath/Chrysanthemum.jpg,到了document.getElementById("myimg").src=path执行过后得到的路径是file:///C:/fakepath/Chrysanthemum.jpg
找了半天原因,原来IE8增加了安全选项,默认情况下不显示上传文件的真实路径,进入internet选项,修改下设置即可显示真实的文件路径。
按这样来修改:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
以上是笨办法,不能强求浏览你网站的用户也这样操作吧,所以奉上另外一个方法:
复制代码 代码示例:
<script type="text/javascript">
function getPath(obj) {
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select(); return document.selection.createRange().text;
}
else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
if (obj.files) {
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}
//以下即为完整客户端路径
var filepath=getPath(document.getElementById("iptfileupload"));
</script>