问题描述
在html页面中上传附件:代码:<input type="file" name="file" id="file"/> 用var fileName = document.getElementById("file").value;得到file的上传路径,但是在IE8或更高版本的IE中得到的路径是:c:fakepathxxx路径,怎么才能得到上传的文件路径那?请高手帮助
解决方案
不行的 在主流浏览器 出于安全原因是拿不到的绝对路径的 如果你要拿ie8及以后的相对路径可以把c:fakepath substr掉http://acidmartin.wordpress.com/2009/06/09/the-mystery-of-cfakepath-unveiled/
解决方案二:
最好不要这样做,对于浏览器来说就算你站IE6 7 8兼容了,FF也不会兼容,就算FF兼容了,CHROME也不会兼容。(你总不能给客户说把你的浏览器安全级别设置低些?)我说的意思是浏览器端获取路径没有意义。建议换思路。
解决方案三:
在浏览器-属性-安全设置-自定义级别中,其他里有包含上传路径,一般都是禁止的,你把它打开就可以了
解决方案四:
引用本的IE中得到的路径是:c:fakepathxxx路径,怎么才能得到上传的文件路径那? 引用但是这样我只能取到文件名,然后还是读取不到这个文件呀,也就无法读取这个文件的内容怎么感觉偏题了,还是问题描述错了
解决方案五:
那么在JS代码中我就可以这样来获取真实的文件路径:var file_upl = document.getElementById('file_upl'); file_upl.select(); var realpath = document.selection.createRange().text;
解决方案六:
flex可以获取文件的绝对路径,http://blog.sina.com.cn/s/blog_938d86e90100xzrb.html
解决方案七:
我遇到过这个问题,博客里面写了,请看这里:IE8上传文件时文件本地路径变成"C:fakepath"的问题http://yunzhu.iteye.com/blog/1116893