首页 > 作文

Html5 FileReader实现即时上传图片功能实例代码

更新时间:2023-04-06 15:18:46 阅读: 评论:0

下面的是在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 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图