html5文件上传,html上传图片并显示

  html5文件上传,html上传图片并显示

  下面的是在ie9下面实现的预览,跟ie8还是不一样的,不过我记得貌似ie8好像也是利用了滤镜的功能,因为项目只要求在ie9以上,所以就没有写出ie8的啦复制代码代码如下:

  !声明文档类型

  html lang=en

  头

  meta charset=UTF-8

  标题文档/标题

  /头

  身体

  pstyle type=text/css

  #kk{

  宽度:400像素

  高度:400像素

  溢出:隐藏;

  }

  #preview_wrapper{

  宽度:300像素

  高度:300像素

  背景色:# CCC

  溢出:隐藏;

  }

  #preview_fake{ /*该对象用于在工业管理学(工业工程)下显示预览图片*/

  过滤器:progid:DXImageTransform .微软。alpha图像加载器(调整大小方法=缩放);

  宽度:300像素

  溢出:隐藏;

  }

  #preview_size_fake{ /*该对象只用来在工业管理学(工业工程)下获得图片的原始尺寸,无其它用途*/

  过滤器:progid:DXImageTransform .微软。alpha图像加载器(调整大小方法=图像);

  宽度:300像素

  可见性:隐藏;

  溢出:隐藏;

  }

  #预览{ /*该对象用于在消防下显示预览图片*/

  宽度:300像素

  高度:300像素

  溢出:隐藏;

  }

  /style script type= text/JavaScript

  函数onUploadImgChange(发送方){

  如果(!sender.value.match( /.jpg .gif .png .bmp/i ) ){

  警报(图片格式无效!);

  返回错误的

  }

  var objPreview=document。getelementbyid(“预览”);

  var objPreviewFake=document。getelementbyid( preview _ fake );

  var objPreviewSizeFake=document。getelementbyid( preview _ size _ fake );

  如果(发件人。文件发送者。文件[0]){//这里面就是铬和消防可以兼容的了

  objpreview。风格。display= block

  objpreview。风格。width= auto

  objpreview。风格。height= auto

  //Firefox因安全性问题已无法直接通过输入[文件]。价值获取完整的文件路径

  objPreview.src=sender.files[0].getastaurl();

  } else if(objpreviewfake。过滤器){

  //IE7,IE8在设置本地图片地址为img.src时出现莫名其妙的后果

  //(相同环境有时能显示,有时不显示),因此只能用滤镜来解决

  //IE7,IE8因安全性问题已无法直接通过输入[文件]。价值获取完整的文件路径

  发件人。select();

  发件人。blur();

  var img src=文档。选择。创建范围().文本;

  objpreviewfake。过滤器。item( DXImageTransform .微软。AlphaImageLoader).src=imgSrc

  objpreviewsizefake。过滤器。item( DXImageTransform .微软。AlphaImageLoader).src=imgSrc

  警报(已成功选择图片!);

  alert(objpreviewsizefake。offsetwidth);

  autoSizePreview( objPreviewFake,objPreviewSizeFake.offsetWidth,objPreviewSizeFake。offset height);

  objpreview。风格。display= none

  }

  }

  函数onPreviewLoad(发送方){

  autoSizePreview( sender,sender.offsetWidth,sender。offset height);

  }

  函数autoSizePreview( objPre,originalWidth,originalHeight ){

  var zoom param=clacimgzoom param(300,300,originalWidth,original height);

  目标预测。风格。宽度=缩放参数。宽度 px ;

  目标预测。风格。高度=缩放参数。高度 px ;

  目标预测。风格。上边距=缩放参数。顶级‘px’;

  目标预测。风格。左边距=缩放参数。左‘px’;

  }

  函数clacImgZoomParam( maxWidth,maxHeight,Width,height ){

  var param={ width:width,height:height,top:0,left:0 };

  if(width maxwidth heightmaxHeight){

  速率宽度=宽度/最大宽度;

  率高=身高/最大身高;

  if( rateWidth rateHeight ){

  param.width=maxWidth

  参数。高度=高度/率宽;

  }否则{

  参数。宽度=宽度/率高;

  param.height=maxHeight

  }

  }

  参数。left=(maxWidth-param。宽度)/2;

  参数。top=(最大高度-参数。高度)/2;

  返回参数;

  }

  /script input name= local file type= file id= local file size= 28 onchange= onUploadImgChange(this)/!-以下是预览图片用的-

  div id=kk

  div id=预览_包装

  div id=preview_fake

  img id= preview src= onload= onPreviewLoad(this)/

  /div

  /div

  br/

  img id=preview_size_fake /

  /div/p

  /body

  /html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: