问题描述
我想做一个图片上传,并且本地预览功能,但是,IE7以后浏览器不支持从本地读取图片的功能,该如何解决本地预览功能,求大神解决
解决方案
解决方案二:
浏览器是不能查看本地图片的,兄弟放弃吧,我之前也想这么干。除非你写一个ActiveX控件查看本地文件,而且只能用IE打开
解决方案三:
都是上传后预览的把
解决方案四:
真的就没有办法了吗?不会吧,那也太悲催了,我记得有的网站是可以的,大家在帮帮想想,谢谢了
解决方案五:
就写个activeX呗
解决方案六:
Referthis:
解决方案七:
引用5楼insus的回复:
Referthis:http://www.cnblogs.com/insus/archive/2012/11/13/2768951.html
但是,我在IE9下用你的方法,还是不行,浏览器还是不显示啊,只是一闪后,FileUpLoad里的地址没有了,但是图片没有了,前辈能不能帮忙想想,谢谢
解决方案八:
晕死!上传到服务器然后“预览”,呵呵!
解决方案九:
引用3楼wanghui06405的回复:
真的就没有办法了吗?不会吧,那也太悲催了,我记得有的网站是可以的,大家在帮帮想想,谢谢了
例如我们是做企业应用的web程序,因此我们可以假设用户基于silverlight浏览应用程序。
解决方案十:
貌似已经无回天之力了,看来也只能放弃这个功能了
解决方案十一:
引用5楼insus的回复:
Referthis:http://www.cnblogs.com/insus/archive/2012/11/13/2768951.html
选择文件时,跳了一下就没了!也预览不了!
解决方案十二:
不知道你是怎么读取的img的src支持file写法,这个不符合你的要求吗?例如<imgsrc="file:\C:XXXX.jpg"/>
解决方案十三:
<inputid="myfile"type="file"/><br/><imgsrc=""alt="Imagetobeupload."/><divid="info"></div><scripttype="text/javascript">vardFile=document.getElementById('myfile');vardImg=document.getElementsByTagName('img')[0];vardInfo=document.getElementById('info');dFile.onchange=function(){if(!dFile.value.match(/.jpg|.gif|.png|.bmp/i)){alert('Filetypemustbe:.jpg,.gif,.bmpor.png!');return;}if(dFile.files){dImg.src=dFile.files[0].getAsDataURL();alert(dImg.src);}elseif(dFile.value.indexOf('\')>-1||dFile.value.indexOf('/')>-1){dImg.src=dFile.value;alert(dImg.src);}}</script>这个兼容IE9FF3遨游等等之类的
解决方案十四:
引用11楼qishichang的回复:
不知道你是怎么读取的img的src支持file写法,这个不符合你的要求吗?例如<imgsrc="file:\C:XXXX.jpg"/>
他的意思是不吧图片上传到服务器完成预览功能这个真不行
解决方案十五:
引用13楼baishaoge的回复:
引用11楼qishichang的回复:不知道你是怎么读取的img的src支持file写法,这个不符合你的要求吗?例如<imgsrc="file:\C:XXXX.jpg"/>他的意思是不吧图片上传到服务器完成预览功能这个真不行
我这也没上传呀,img的src是本地文件路径
解决方案:
解决方案:
引用11楼qishichang的回复:
不知道你是怎么读取的img的src支持file写法,这个不符合你的要求吗?例如<imgsrc="file:\C:XXXX.jpg"/>
正如13楼所说,我是想在上传服务器之前,进行预览,而不是上传之后预览,我试过11楼的方法,还是不行
解决方案:
http://www.cnblogs.com/slyzly/articles/2411940.html我总结的兼容性比较好的js本地图片预览,未上传到服务器上,但是不支持Safari,兼容性不是很好,只能将就着点用了,更好的兼容性是用flash来做预览.
解决方案:
上传到服务器的话,我觉得第一是服务器压力增大,还会产生垃圾文件,所以就将就着用js来预览了,flash我也不会。
解决方案:
引用12楼kongwei521的回复:
<inputid="myfile"type="file"/><br/><imgsrc=""alt="Imagetobeupload."/><divid="info"></div><scripttype="text/javascript">vardFile=document.getElementById('myfile');……
不行,还是失败无法打开
解决方案:
本地是不支持浏览的,有些FLAHS在IE低版本中,可以支持,现在普通浏览不支持,出于安全的考虑,一般都是上传到服务器,再加载到本地,进行浏览的
解决方案:
引用6楼wanghui06405的回复:
引用5楼insus的回复:Referthis:http://www.cnblogs.com/insus/archive/2012/11/13/2768951.html但是,我在IE9下用你的方法,还是不行,浏览器还是不显示啊,只是一闪后,FileUpLoad里的地址没有了,但是图片没有了,前辈能不能帮忙想想,谢谢
博文中的评论,有人问过此问题,也解决了。不防再看一遍。
解决方案:
引用21楼insus的回复:
引用6楼wanghui06405的回复:引用5楼insus的回复:Referthis:http://www.cnblogs.com/insus/archive/2012/11/13/2768951.html但是,我在IE9下用你的方法,还是不行,浏览器还是不显示啊,只是一闪后,FileUpLoad里的地址没有了,但是图片没有了,前辈能不能……
我没有找到您说的解决方法,能否发个链接给我,谢谢
解决方案:
解决方案:
<scripttype="text/javascript"language="javascript">functionPreviewImg(imgFile){varimgDiv=document.getElementById("ShowPic");imgDiv.style.width="118px";imgDiv.style.height="127px";imgDiv.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=imgFile.value;varshowPicUrl=document.getElementById("showPicUrl");showPicUrl.innerText=imgFile.value;}</script><body><formid="form1"runat="server"><inputtype="file"size="20"onchange="javascript:PreviewImg(this);"/><divid="ShowPic"></div><inputid="showPicUrl"type="hidden"/></form></body>
解决方案:
预览啥啊,直接上传吧,你在电脑上预览了再传啊。
解决方案:
引用24楼hjywyj的回复:
<scripttype="text/javascript"language="javascript">functionPreviewImg(imgFile){varimgDiv=document.getElementById("ShowPic");imgDiv.style……
这个方法在IE上可行,只可惜不能再火狐上显示图片,火狐上就真的拿它没办法了吗
解决方案:
引用26楼wanghui06405的回复:
引用24楼hjywyj的回复:<scripttype="text/javascript"language="javascript">functionPreviewImg(imgFile){varimgDiv=document.getElementById("ShowPic");……
其实这个功能没多少必要,在上传图片的时候点击浏览=》找图片文件的时候右键=》查看缩略图,甚至比预览效果好,能一次查看多张图片的缩略图
解决方案:
哎,无奈,谁让自己不是老板呢,
解决方案:
引用22楼wanghui06405的回复:
引用21楼insus的回复:引用6楼wanghui06405的回复:引用5楼insus的回复:Referthis:http://www.cnblogs.com/insus/archive/2012/11/13/2768951.html但是,我在IE9下用你的方法,还是不行,浏览器还是不显示啊,只是一闪后,FileUpLoad里的地……
Referthis:
解决方案:
同学,可以使用滤镜效果实现的,刚花了点时间写了一下:这是html代码:<divid="imgPreview"style='width:144px;height:80px;'><imgid='img_browse'title=""src=""alt=""width="144"height="80"/></div><asp:FileUploadID="fupSynopsisPic"onchange='PreviewImage(this)'CssClass="normaltextinputclass"Width="320"runat="server"/>
下面是js代码://图片本地预览functionPreviewImage(imgFile){varfilextension=imgFile.value.substring(imgFile.value.lastIndexOf("."),imgFile.value.length);filextension=filextension.toLowerCase();if((filextension!='.jpg')&&(filextension!='.gif')&&(filextension!='.jpeg')&&(filextension!='.png')&&(filextension!='.bmp')){alert("对不起,系统仅支持标准格式的logo,请您调整格式后重新上传,谢谢!");imgFile.focus();}else{varpath;if(document.all)//IE{imgFile.select();path=document.selection.createRange().text;document.getElementById("imgPreview").innerHTML="";document.getElementById("imgPreview").style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='scale',src=""+path+"")";//使用滤镜效果}else//FF{path=imgFile.files[0].getAsDataURL();document.getElementById("img_browse").src=path;}}}
解决方案:
引用5楼insus的回复:
Referthis:http://www.cnblogs.com/insus/archive/2012/11/13/2768951.html
你这个其实都已经把图片传到服务器上了,只不过没有保存而已。IE7以上的浏览器和FF都得更改浏览器设置才能取得文件的路径,所以使用滤镜的方法也有点不大现实chrome?这个真的无解,一点办法都没有
解决方案:
暑假的时候尝试实现这个功能,记得使用一个div+滤镜实现的。
解决方案:
我有一个IE678,FF,chrome都测试过由于公司的电脑系统都是XPIE9不知道行不行呢
解决方案:
能给一份吗?谢谢
解决方案:
17楼测试有用