IE8上传文件时javascript读取文件的本地路径的问题("C:/fakepath/")的解决方案
今天把IE7升级到了IE8,没想到一个网站里面的上传图片时用JavaScript预览本地图片的功能失效了,图片总是显示错误,用alert()看了下图片的路径居然变成了C:\fakepath\*.jpg,真实的路径被C:\fakepath\取代了,于是在网上开始找解决方案。原来是因为IE8增加了安全选项,默认情况下不显示上传文件的真实路径,进入internet选项,修改下设置即可显示真实的文件路径。
以下就是操作步骤:
工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
附带不用修改浏览器安全配置的javascript代码,兼容ie, firefox全系列
1.function getPath(obj) 2.{ 3. if(obj) 4. { 5. 6. if (window.navigator.userAgent.indexOf("MSIE")>=1) 7. { 8. obj.select(); 9. 10. return document.selection.createRange().text; 11. } 12. 13. else if(window.navigator.userAgent.indexOf("Firefox")>=1) 14. { 15. if(obj.files) 16. { 17. 18. return obj.files.item(0).getAsDataURL(); 19. } 20. return obj.value; 21. } 22. return obj.value; 23. } 24.} 参数obj为input file对象