用JavaScript实现“上传并预览图片”时,
用JavaScript实现“上传并预览图片”时,默认浏览器Firefox无法获得图片路径,显示fakepath,如何解决?浏览次数:1005次悬赏分:5|解决时间:2010-12-211:14|提问者:薯类赵
使用chrome时出现同样问题,但是IE好像就能正常显示。
如何获得正确路径?JS菜鸟求指教。问题补充:
代码如下:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<scripttype="text/javascript">
functionreadFile(field,image){
varobj_0=document.getElementsByName(field)[0];
varobj_1=document.getElementsByName(image)[0];
if(obj_0==null||obj_1==null)
{
alert("Pleasselectanimage");
returnfalse;
}
else
{
obj_1.src="file:///"+obj_0.value;
returntrue;
}
}
</script>
<title>ImageUpload</title>
</head>
<body>
<formname="form"action="">
<imgname="image"src=""/>
<inputtype="file"name="upload"onchange="returnreadFile('upload','image')"/>
<inputtype="submit"value="submit"/>
</form>
</body>
</html>
最佳答案浏览器安全性已经大大提高,要实现图片上传预览不是那么简单了
不过有很多变通或先进的方法来实现
例如ie7/ie8的滤镜预览法,firefox3的getAsDataURL方法
具体可以参考这个图片上传预览效果
参考资料:http://www.blueidea.com/common/shoutbox/redir.asp?7=u&id=11586
分享给你的朋友吧:
i贴吧
新浪微博
腾讯微博
QQ空间
人人网
豆瓣
MSN
对我有帮助
1回答者:热心网友|回答时间:2010-11-2301:40|我来评论
提问者对于答案的评价:
多谢各位,发现这个问题很难解决……
推荐答案先把代码发上来看看,肯定用了ie才支持的activeX,万恶的ie又害人了回答时间:2010-11-2209:16
向TA求助回答者:scokpio来自团队js开发|三级采纳率:16%
擅长领域:其他编程语言
参加的活动:暂时没有参加的活动
相关内容
2006-10-13为什么我MozillaFirefox浏览器会不能上传图片也不能邮件发图片2011-2-15Firefox火狐浏览器能够上传图片到百度空间吗?12011-6-22Javascript下IE8使用onblur事件导致浏览器崩溃、Firefox、Chrome浏览...2008-12-9javascript页面在firefox和google浏览器中都可以浏览,但是在IE中却不能...32011-2-22下面一段HTML里的javascript脚本,在FireFox下能弹出2级导航,IE等其他...更多关于ie预览上传图片的问题>>
查看同主题问题:浏览器firefoxfirefox图片
等待您来回答0回答广西南宁连锁经营上总后真的有6-10万保底吗?合法吗?是国家项目吗?0回答花花大世界9月底有什么好玩的吗?是去游玩的好时段吗?0回答听说燕郊安装北京电话的公司里亿联做的算好的是真的吗0回答太阳星座,上升星座,月亮星座分别是怎么计算的?0回答在南宁哪能学开挖掘机和推土机0回答我想把户口和档案从龙育公司迁出到省人才,打两边的电话打不通,请问...0回答南宁买真文凭?购买本科文凭可以吗?1回答南宁到梧州的高铁什么时候修好呢?更多等待您来回答的问题>>
其他回答共2条
if(obj_0==null||obj_1==null)
{
alert("Pleasselectanimage");
returnfalse;
}
else
{
obj_1.src="file:///"+obj_0.value;
alert(obj_1.src);//加入这句打印信息
returntrue;
}
在指定位置添加alert语句,你再测试会发现,在chorme下obj_0.value只取到了图片的相对地址,也就是图片本身的名字,而图片所在的路径被丢弃了,从而导致显示不正确。这可能是各种浏览器对file控件实现的不同造成的。回答者:四号楼的灯|四级|2010-11-2210:23
也是一个教训啊,以后测试记得在firefox下面做,好了再到IE上面做小修改