IE8上传文件时javascript读取文件的本地路径的问题("C:\fakepath\")的解决方案

purple.taro 2010-04-23 09:30:30
IE8上传文件时javascript读取文件的本地路径的问题("C:\fakepath\")的解决方案


 前一阵把IE6升级到了IE8,没想到一个网站里面的上传图片时用JavaScript预览本地图片的功能失效了,图片总是显示错误,用alert()看了下图片的路径居然变成了C:\fakepath\*.jpg,真实的路径被C:\fakepath\取代了,于是在网上开始找解决方案。原来是因为IE8增加了安全选项,默认情况下不显示上传文件的真实路径,进入internet选项,修改下设置即可显示真实的文件路径。

  以下就是操作步骤:

工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。


第一步:




第二部:



...全文
20762 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
rong123794547 2011-12-22
  • 打赏
  • 举报
回复
5楼给力,ie9通过,威武
Junhong_c 2011-10-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 leveretzhang 的回复:]
<script type="text/javascript">
function getPath(obj) {
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select(); ……
[/Quote]

我也是用这个方法,可是javascript会提示access is denied.无法提交,谁有什么办法。我用的是IE9
  • 打赏
  • 举报
回复
我在IE8下面确实测试成功了.在IE6下面也没有问题,如果没有显示图片,
//getPath为5楼写的方法.
var filepath=getPath(document.getElementById("pic_file"));
//alert(filepath);
if(filepath!=fileURL){
ShowIMG.innerHTML = "<img name=MyIMG src='" + filepath + "'>"
fileURL = filepath;
是不是这里的问题"<img name=MyIMG src='" + filepath + "'>"这个我测试了IE6和8都是可以的.但是如果 "<img name=MyIMG src='file:\\" + filepath + "'>"是不是加了file:\\这个了.去掉的话可以.不去掉,8还是有问题.

  • 打赏
  • 举报
回复
我在IE8下面确实测试成功了.在IE6下面也没有问题,如果没有显示图片,
//getPath为5楼写的方法.
var filepath=getPath(document.getElementById("pic_file"));
//alert(filepath);
if(filepath!=fileURL){
ShowIMG.innerHTML = "<img name=MyIMG src='" + filepath + "'>"
fileURL = filepath;
是不是这里的问题"<img name=MyIMG src='" + filepath + "'>"这个我测试了IE6和8都是可以的.但是如果 "<img name=MyIMG src='file:\\" + filepath + "'>"是不是加了file:\\这个了.去掉的话可以.不去掉,8还是有问题.

lmllmlllmllllm 2011-07-25
  • 打赏
  • 举报
回复
求解决办法
冷面 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 ailby0709 的回复:]
5楼的方法,以前用过在IE7也通过了,不过后来项目要求要对应IE8、9,还有谷歌浏览器,Sarafi浏览器,郁闷了,不知道怎么处理了。。。
[/Quote]

顶一下
yueyue_fish 2011-05-20
  • 打赏
  • 举报
回复
ie9 没戏 我已经快折腾疯了
小_郭儿 2011-05-06
  • 打赏
  • 举报
回复
同问呀[Quote=引用 36 楼 ailby0709 的回复:]

引用 35 楼 rainsilence 的回复:
开玩笑。。。#5楼。你难道没有看见lz的这个问题的意思吗?你用selection对象取到的只是fakepath而已!!!!!IE8上并没有解决此问题的方法。其他人也只是盲目跟风,并没有在项目中实际用过吧。另外,lz你认为要求客户设置客户端环境可行????

除了lz提出的这个问题。还有一个信任站点的问题也无法显示图片。预览除了直接提交外,没……
[/Quote]
小_郭儿 2011-05-06
  • 打赏
  • 举报
回复
解决了嘛?[Quote=引用 37 楼 jacky_linken 的回复:]

引用 5 楼 leveretzhang 的回复:
<script type="text/javascript">
function getPath(obj) {
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select(); return document.selection.createR……
[/Quote]
Jacky_linken 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 leveretzhang 的回复:]
<script type="text/javascript">
function getPath(obj) {
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select(); return document.selection.createRange().text;
}
……
[/Quote]

这个只能用在一张图片预览、保存路径;多了就错了,有没有更好的?
ailby0709 2011-03-15
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 rainsilence 的回复:]
开玩笑。。。#5楼。你难道没有看见lz的这个问题的意思吗?你用selection对象取到的只是fakepath而已!!!!!IE8上并没有解决此问题的方法。其他人也只是盲目跟风,并没有在项目中实际用过吧。另外,lz你认为要求客户设置客户端环境可行????

除了lz提出的这个问题。还有一个信任站点的问题也无法显示图片。预览除了直接提交外,没有更好的方法。所以现在很多网站都已经把预览功能去掉了。……
[/Quote]

IE8确实没有解决,我现在对应的就是IE8、9,谷歌还有Safari,郁闷死了,总是出现这个该死的路径,不知道怎么解决。高手能指点一下不?
rainsilence 2011-03-15
  • 打赏
  • 举报
回复
开玩笑。。。#5楼。你难道没有看见lz的这个问题的意思吗?你用selection对象取到的只是fakepath而已!!!!!IE8上并没有解决此问题的方法。其他人也只是盲目跟风,并没有在项目中实际用过吧。另外,lz你认为要求客户设置客户端环境可行????

除了lz提出的这个问题。还有一个信任站点的问题也无法显示图片。预览除了直接提交外,没有更好的方法。所以现在很多网站都已经把预览功能去掉了。因为不提交的预览在IE8上无法完全实现!!!!!!!!
ailby0709 2011-03-15
  • 打赏
  • 举报
回复
5楼的方法,以前用过在IE7也通过了,不过后来项目要求要对应IE8、9,还有谷歌浏览器,Sarafi浏览器,郁闷了,不知道怎么处理了。。。
zhangjavin 2011-01-10
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 zhangjavin 的回复:]
引用 28 楼 lanzhen52134 的回复:
火狐没有通过啊!


恩 ff通不过!
[/Quote]

再补充下 如果把Firefox改成firefox可以获得图片的名称,但是不是完整路径! 个人觉得感觉可能是那里的问题! 但是如果用这种方法,就应该把所有可能的浏览器都要判断一次,好像也蛮难搞的...
zhangjavin 2011-01-10
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 lanzhen52134 的回复:]
火狐没有通过啊!
[/Quote]

恩 ff通不过!
二重天 2010-12-13
  • 打赏
  • 举报
回复
ie9测试不通过。。
Dear.Jone 2010-12-07
  • 打赏
  • 举报
回复
谢谢五楼的……
lanzhen52134 2010-11-10
  • 打赏
  • 举报
回复
火狐没有通过啊!
weir_威尔 2010-10-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 leveretzhang 的回复:]
<script type="text/javascript">
function getPath(obj) {
if (obj) {
if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
obj.select(); return document.selection.createRange().text;
}
……
[/Quote]
不知obj是什么?
xujiaxuliang 2010-10-26
  • 打赏
  • 举报
回复
mark,5楼的方法学习了
加载更多回复(22)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧