下面的是在ie9下面实现的预览,跟ie8还是不一样的,不过我记得貌似ie8好像也是利用了fiter的功能,因为项目只要求在ie9以上,所以就没有写出ie8的啦
复制代码 代码如下:
<!doctype html>
<html lang=”en”>
<head>
<meta chart=”utf-8怎样一秒钟写完作业8243;>
<title>document</title>
</head>
<body>
<p><style type=”text/css”>
#kk{
width:400px;
height:400px;
overflow: hidden;
}
#preview_wrapper{
width:300px;
height:300px;
background-color:#ccc;
overflow: hidden;
}
#preview_fake{ /* 该对象用于在ie下显示预览图片 */
filter:progid:dximagetransform.microsoft.alphaimageloader(sizingmethod=scale);
width:300px;
overflow: hidden;
}
#preview_size_fake{ /* 该对象只用来在ie下获得图片的原始尺寸,无其它用途 */
filter:progid:dximagetransform.microsoft.alphaimageloader(sizingmethod=image);
width:300px;
visibility:hidden;
overflow: hidden;
}
#preview{ /* 该对象用于在ff下显示预览图片 */
width:300px;
height:300px;
overflow: hidden;
}
</style><script type=”text/javascript”>
function onuploadimgchange(nder){
if( !nder.value.match( /.jpg|.gif|.png|.bmp/i ) ){
alert(‘图片格式无效!’);
return fal;
}
var objpreview = document.getelementbyid(‘preview’);
var objpreviewfake = document.getelementbyid(‘preview_fake’);
var objpreviewsizefake = document.getelementbyid(‘preview_size_fake’);
if( nder.files && nder.files[0] ){ //这里面就是chrome和ff可以兼容的了
objpreview.style.display = ‘block’;
objpreview.style.width = ‘auto’;
objpreview.style.height = ‘auto’;
// firefox 因安全性问题已无法直接通过 input[file].value 获取完整的文件路径
objpreview.src = nder.files[0].getasdataurl();
}el if( objpreviewfake.filters ){
// ie7,ie8 在设置本地图片地址为 img.src 时出现莫名其妙的后果
//(相同环境有时能显示,有时不显示),因此只能用滤镜来解决
// ie7, ie8因安全性问题已无法直接通过 input[file].value 获取完整的文件路径
nder.lect();
nder.blur();
var imgsrc = document.lection.createrange().text;
objpreviewfake.filters.item(‘dximagetransform.microsoft.alphaimageloader’).src = imgsrc;
objpreviewsizefake.filters.item(‘dximagetransform.microsoft.alphaimageloader’).src = imgsrc;
alert(“已成功选择图片!”);
alert(objpreviewsizefake.offtwidth);
autosizepreview( objpreviewfake,objpreviewsizefake.offtwidth, objpreviewsizefake.offtheight );
objpreview.style.display = ‘none’;
}
}
function onpreviewload(nder){
autosizepreview( nder, nder.offtwidth, nder.offtheight );
}
function autosizepreview( objpre, originalwidth, originalheight 厨师学费){
var zoomparam = clacimgzoomparam( 300, 300, originalwidth, originalheight );
objpre.style.width = zoomparam.width + ‘px’;
objpre.style.height = zoomparam.height + ‘px’;
objpre.style.marginto张氏情歌 歌词p = zoomparam.top + ‘px’;
objpre.style.marginleft = zoomparam.left + ‘px’;
}
function clacimgzoomparam( maxwidth, maxheight, width, height ){
var param = { width:width, height:height, top:0, left:0 };
if( width>maxwidth || height>maxheight ){
ratewidth = width / maxwidth;
rateheight 米兰花= height / maxheight;
if( ratewidth > rateheight ){
param.width = maxwidth;
param.height = height / ratewidth;
}el{
param.width = width / rateheight;
param.height = maxheight;
}
}
param.left = (maxwidth – param.width) / 2;
param.top = (maxheight – param.height) / 2;
return param;
}
</script> <input name=”localfile” type=”file” id=”localfile” size=”28″ onchange=”onuploadimgchange(this)”/> <!–以下是预览图片用的–>
<div id=”kk”>
<div id=Rqs大学21;preview_wrapper”>
<div id=”preview_fake”>
<img id=”preview” src=”” onload=”onpreviewload(this)”/>
</div>
</div>
<br/>
<img id=”preview_size_fake” />
</div></p>
</body>
</html>
本文发布于:2023-04-06 15:18:44,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/ff4b4181742b08d57c4387fd4bf52cae.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Html5 FileReader实现即时上传图片功能实例代码.doc
本文 PDF 下载地址:Html5 FileReader实现即时上传图片功能实例代码.pdf
留言与评论(共有 0 条评论) |