关于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选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。

当然有些人会说,你总不能要求你的客户也去做这些设置吧,所以还得找其他的解决方法

 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>

上面这种方式就不用客户修改了,大家可以试试,以上也是我网上找的资料,分享给大家,方便使用~~
 

 

posted @ 2011-11-10 22:38  楠以言表  阅读(1294)  评论(0编辑  收藏  举报