javascript实现上传图片并预览的效果代码实例

发布于 2022-09-30 11:47:36 字数 6009 浏览 28 评论 0

javascript实现上传图片并预览的效果代码实例

图片上传预览,就是在使用文件选择框选择了文件之后就可以在页面上看见图片的效果,关于这个效果我一直认为是无法做到的,今天用alphaimageloader滤镜的src属就是其中的主角它将使用绝对或相对url地址指定背景图像。假如忽略此参数,滤镜将不会作用。

  1. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
  2.     <html xmlns="http://www.3ppt.com /">
  3.     <head>
  4.     <meta http-equiv="content-type" content="text/html; charset=gb2312" />
  5.     <title></title>
  6.     <style type="text/css教程">
  7.     #picshow
  8.     {
  9.         filter:progid:dximagetransform.microsoft.alphaimageloader(sizingmethod=scale);
  10.         width:88px;
  11.         height:125px;
  12.     }
  13.     </style>
  14.     <script type="text/网页特效" language="javascript">
  15.     <!--
  16.     function upimg(imgfile)
  17.     {
  18.         var picshow = document.getelementbyid("picshow");
  19.         picshow.filters.item("dximagetransform.microsoft.alphaimageloader").src = imgfile.value;
  20.         picshow.style.width = "88px";
  21.         picshow.style.height = "125px";
  22.     }
  23.     -->
  24.     </script>
  25.     </head>
  26.     <body>
  27.     <div id="picshow"></div>
  28.      
  29.     <p>选择图片:<input type="file" size="20" onchange="upimg(this);" /></p>
  30.     </body>
  31.     </html>

复制代码实例二、同时兼容ie6,ie7,ie8和 firefox。

  1. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en"
  2.     "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
  3.     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4.     <head>
  5.     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.     <script>
  7.     var picpath;
  8.     var image;
  9.     // preview picture
  10.     function preview()
  11.     {
  12.     document.getelementbyid('preview').style.display = 'none';
  13.     // 下面代码用来获得图片尺寸,这样才能在ie下正常显示图片
  14.     document.getelementbyid('box').innerhtml
  15.     = "<img width='"+image.width+"' height='"+image.height+"' id='apic' src='"+picpath+"'>";
  16.     }
  17.     // show view button
  18.     function buttonshow()
  19.     {
  20.     /*

复制代码这里用来解决图片加载延时造成的预览失败.
    简单说明一下,当image对象的src属性发生改变时javascript会重新给image装载图片内容,
    这通常是需要一些时间的,如果在加载完成之前想将图片显示出来就会造成错误,所以我们
    通过图片的宽度和高度来判断图片是否已经被成功加载,加载完毕才会显示预览按钮.
    这里我仍然有一个困惑,在ie7下预览效果偶尔会失效.

  1. */
  2.     if ( image.width == 0 || image.height == 0 ) {
  3.     settimeout(buttonshow, 1000);
  4.     } else {
  5.     document.getelementbyid('preview').style.display = 'block';
  6.     }
  7.     }
  8.     function loadimage(ele) {
  9.     picpath   = getpath(ele);
  10.     image     = new image();
  11.     image.src = picpath;
  12.     settimeout(buttonshow, 1000);
  13.     }
  14.     function getpath(obj)
  15.     {
  16.     if(obj)
  17.     {
  18.     //ie
  19.     if (window.navigator.useragent.indexof("msie")>=1)
  20.     {
  21.     obj.select();
  22.     // ie下取得图片的本地路径
  23.     return document.selection.createrange().text;
  24.     }
  25.     //firefox
  26.     else if(window.navigator.useragent.indexof("firefox")>=1)
  27.     {
  28.     if(obj.files)
  29.     {
  30.     // firefox下取得的是图片的数据
  31.     return obj.files.item(0).getasdataurl();
  32.     }
  33.     return obj.value;
  34.     }
  35.     return obj.value;
  36.     }
  37.     }
  38.     </script>
  39.     </head>
  40.     <body>
  41.     <input type="file" name="pic" id="pic" onchange='loadimage(this)' />
  42.     <input id='preview' type='button' value='preview' style='display:none;' onclick='preview();'>
  43.     <div id='box'></div>
  44.     </body>
  45.     </html

复制代码转:http://www.cnblogs.com/huabingch ... /04/11/2012654.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文