IE 中上传图片js预览本地图片无效的解决方法

发布时间:2019-07-20编辑:脚本学堂
在ie中上传图片,然后用javascript进行本地图片预览时,无法显示。本文找到了两种解决方法,供大家参考。

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>