IE8图片上传预览及“无效图片文件”提示解决
2009-04-08 18:55
369 查看
IE8图片上传预览及“无效图片文件”提示解决
今天换了windows7系统,默认浏览器是IE8,所有网站运行环境配置好后调试昨天写的图片上传预览,竟然弹出提示“无效图片文件”!
Google了一下发现有此问题的很多,核心原因是IE8的还是默认安全机制限制远程获取本地文件的路径,只能得到个文件名。
寻找到的解决办法是点击IE8工具项>internet选项>安全>自定义级别>将上传带上路径勾选,不过找了半天都是此方法,并且是针对beta1版本
,这个将上传带路径我始终是没找到在哪里。
就算是我找到了,如果用户和我一样的浏览器,难道让我去修改用户的浏览器设置,那我成流氓了,还是要从程序下手。
昨天写的IE7,FF3上传预览上加个函
function getValue(id){
id.select();//该对象选取
return document.selection.createRange().text;//返回选取项的文本内容
}
利用上面的函数将返回值在递交给以前的代码,就轻松解决了;
IE部分的完整代码为
function getValue(id){id.select();return document.selection.createRange().text;}
var fielvalue=getValue(imgFile);
$ID('hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod ='image';
try{ $ID('hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=fielvalue;}
catch(e){w=0;h=0;return;}
var wh={'w':$ID('hidden').offsetWidth,'h':$ID('hidden').offsetHeight};
var bili=wh['h']/wh['w'];
if(wh['w']>100){wh['w']=100;wh['h']=100*bili};
$ID('hidden').style.width =wh['w'];
$ID('hidden').style.height=wh['h'];
$ID('hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod ='scale';
$ID("IEview").innerHTML='<img style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
(sizingMethod=/'scale/',src=/'' + fielvalue +'/');width:'+wh['w']+';height:'+wh['h']+'" src=/'/'/>';
将以上代码替换掉昨天的FF与IE下的图片上传预览else部分就OK了。
我自己用的win7系统,IE实测,用IETester0.3测试了ie7,由于IETeser IE6一打开就挂掉没有测试,由于IE部分的预览是通过IE私有滤镜达到的目的,那么IE7、IE8好使了IE6应该不成问题。
如果在IE8中无法正常显示,需要把该站点加入到可信认站点中,就可以了。
今天换了windows7系统,默认浏览器是IE8,所有网站运行环境配置好后调试昨天写的图片上传预览,竟然弹出提示“无效图片文件”!
Google了一下发现有此问题的很多,核心原因是IE8的还是默认安全机制限制远程获取本地文件的路径,只能得到个文件名。
寻找到的解决办法是点击IE8工具项>internet选项>安全>自定义级别>将上传带上路径勾选,不过找了半天都是此方法,并且是针对beta1版本
,这个将上传带路径我始终是没找到在哪里。
就算是我找到了,如果用户和我一样的浏览器,难道让我去修改用户的浏览器设置,那我成流氓了,还是要从程序下手。
昨天写的IE7,FF3上传预览上加个函
function getValue(id){
id.select();//该对象选取
return document.selection.createRange().text;//返回选取项的文本内容
}
利用上面的函数将返回值在递交给以前的代码,就轻松解决了;
IE部分的完整代码为
function getValue(id){id.select();return document.selection.createRange().text;}
var fielvalue=getValue(imgFile);
$ID('hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod ='image';
try{ $ID('hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src=fielvalue;}
catch(e){w=0;h=0;return;}
var wh={'w':$ID('hidden').offsetWidth,'h':$ID('hidden').offsetHeight};
var bili=wh['h']/wh['w'];
if(wh['w']>100){wh['w']=100;wh['h']=100*bili};
$ID('hidden').style.width =wh['w'];
$ID('hidden').style.height=wh['h'];
$ID('hidden').filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod ='scale';
$ID("IEview").innerHTML='<img style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
(sizingMethod=/'scale/',src=/'' + fielvalue +'/');width:'+wh['w']+';height:'+wh['h']+'" src=/'/'/>';
将以上代码替换掉昨天的FF与IE下的图片上传预览else部分就OK了。
我自己用的win7系统,IE实测,用IETester0.3测试了ie7,由于IETeser IE6一打开就挂掉没有测试,由于IE部分的预览是通过IE私有滤镜达到的目的,那么IE7、IE8好使了IE6应该不成问题。
如果在IE8中无法正常显示,需要把该站点加入到可信认站点中,就可以了。
相关文章推荐
- IE8图片上传预览及“无效图片文件”提示解决
- IE8在上传文件时路径无效或无效的图片文件解决办法【转】
- 使用 IE8 上传附件时提示“无效的图片文件”
- IE8.0 上传图片时,提示无效的图片文件的解决办法!
- 在IE7/IE8 关闭窗口,上传图片无法预览,window.status无效问题解决办法
- asp.net下CKFinder IE浏览器中上传图片文件时提示“无效文件名或文件夹名称”的解决方法(原创文章)
- asp.net下CKFinder IE9以下浏览器中上传图片文件时提示“无效文件名或文件夹名称”的解决方法
- 关于IE6和IE7关闭窗口时提示和不提示以及上传图片前的本地预览解决办法
- 解决网页异步上传图片时不断更换预览图片时数据库累积文件问题与ajaxUploadFile上传多个参数问题
- 兼容ie6、ie7、ie8 和FF的本地上传图片预览,并客户端判断文件大小和文件格式
- IE6和IE7关闭窗口时提示 及上传图片前的本地预览解决办法
- 在IE7关闭窗口,上传图片无法预览,window.status无效问题解决办法
- 关于IE6和IE7关闭窗口时提示和不提示以及上传图片前的本地预览解决办法
- [转]在IE7关闭窗口,上传图片无法预览,window.status无效问题解决办法
- [转]在IE7关闭窗口,上传图片无法预览,window.status无效问题解决办法
- 解决eWebEditor上传图片提示:请选择一个有效的文件,支持的格式有(GIF|JPG|JPEG|BMP|PNG)!
- 兼容ie6、ie7、ie8 和FF的本地上传图片预览,并客户端判断文件大小和文件格式
- 关于IE6和IE7关闭窗口时提示和不提示以及上传图片前的本地预览解决办法
- 关于IE7关闭窗口时总是提示和上传图片前的本地预览解决办法
- IE8 用滤镜实现上传预览图片,解决C:\fakepath\*.jpg问题,获取本地路径