File文件控件,选中文件(图片,flash,视频)即立即预览显示

原创 2011年08月19日 21:44:14
 
Posted on 2005-12-03 00:56 李天平 阅读(2096) 评论(2) 编辑 收藏
   继续总结项目里的一些小TIP,我们平常用file文件控件上传文件,要预览有时会刷新页面,结果file控件被清空,好多人问能能让他不清空或重新赋值,因为处于安全性的考虑,这是不可能的。那怎么进行无刷新预览呢?这里我把我所使用的方法写一下。

选择页面:

<script language="javascript">
function checkData()
{
  var fileName=document.getElementById("FileUp").value;
  if(fileName=="")
   return;
  //检查文件类型
  var exName=fileName.substr(fileName.lastIndexOf(".")+1).toUpperCase()    
  if(exName=="JPG"||exName=="BMP"||exName=="GIF")
  {
   //document.getElementById("myimg").src=fileName;
   document.getElementById("previewImage").innerHTML='<img src=\''+fileName+'\' width=100 height=100 >';
  }
  else
  if(exName=="SWF")
  {
   document.getElementById("previewImage").innerHTML='<embed src=\''+fileName+'\' width=\'100\' height=\'100\' quality=\'high\' bgcolor=\'#f5f5f5\' ></embed>';     
  }
  else
  if(exName=="WMV"||exName=="MPEG"||exName=="ASF"||exName=="AVI")
  {
   var strcode='<embed src=\''+fileName+'\' border=\'0\' width=\'100\' height=\'100\' quality=\'high\' ';
   strcode+=' autoStart=\'1\' playCount=\'0\' enableContextMenu=\'0\' type=\'application/x-mplayer2\'></embed>';
   document.getElementById("previewImage").innerHTML=strcode;
  }
  else    
  {
   alert("请选择正确的图片文件");
   document.getElementById("FileUp").value="";
  } 
}
function openwin()
{    
 window.open("addPreview.aspx","","height=300,width=345,top=100,left=100");  
}

</script>

HTML代码:

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" ID="Table1">
 <tr>
  <td width="255" height="100%" valign="middle">
   <INPUT id="FileUp" style="WIDTH: 253px; HEIGHT: 22px" type="file" size="23" name="File1"
    runat="server" onchange="checkData()"><br>
   &nbsp;&nbsp;注:这里可以是图片(jpg或gif格式),flash动画(swf)及视频文件(wmv,mpeg,asf,avi)。大小限定在1M以内。
  </td>
  <td>
   <div id="previewImage">当前页预览</div>
  </td>
 </tr>
</table>

弹出预览页面:

<script language="javascript">
function getstr()
{   
 var strcode=""; 
 var width=100;
 var high=100;
 if(self.opener.document.getElementById("FileUp")!=null)
 {
  //strcode=self.opener.document.getElementById("previewImage").innerHTML;
  width=self.opener.document.getElementById("lblWidth").innerText;
  high=self.opener.document.getElementById("lblHigh").innerText;
  
  var fileName=self.opener.document.getElementById("FileUp").value;
  var exName=fileName.substr(fileName.lastIndexOf(".")+1).toUpperCase()    
  if(exName=="JPG"||exName=="BMP"||exName=="GIF")
  {
   //document.getElementById("myimg").src=fileName;
   strcode='<img src=\''+fileName+'\' width='+width+' height='+high+' >';
  }
  else
  if(exName=="SWF")
  {
   strcode='<embed src=\''+fileName+'\' width=\''+width+'\' height=\''+high+'\' quality=\'high\' ></embed>';     
  }
  else
  if(exName=="WMV"||exName=="MPEG"||exName=="ASF"||exName=="AVI")
  {
  strcode='<embed src=\''+fileName+'\' border=\'0\' width=\''+width+'\' height=\''+high+'\' quality=\'high\' ';
  strcode+=' autoStart=\'1\' playCount=\'0\' enableContextMenu=\'0\' type=\'application/x-mplayer2\'></embed>';
  }
  
 }    
 if(self.opener.document.getElementById("txtADCode")!=null)
 {
  strcode=self.opener.document.getElementById("txtADCode").innerHTML; 
 }    
 if(strcode!="")
 {
  //window.alert(fileName);
  document.getElementById("showimg").innerHTML=strcode;
 }   
}

</script>

显示:

<div id="showimg"></div>

File文件控件,选中文件(图片,flash,视频)即立即预览显示

        我们平常用file文件控件上传文件,要预览有时会刷新页面,结果file控件被清空,好多人问能能让他不清空或重新赋值,因为处于安全性的考虑,这是不可能的。那怎么进行无刷新预览呢?这里我把...
  • bookseas
  • bookseas
  • 2008年01月21日 12:07
  • 235

File文件控件,选中文件(图片,flash,视频)即立即预览显示

我们平常用file文件控件上传文件,要预览有时会刷新页面,结果file控件被清空,好多人问能能让他不清空或重新赋值,因为处于安全性的考虑,这是不可能的。那怎么进行无刷新预览呢?这里我把我所使用的方法写...
  • Awinye
  • Awinye
  • 2006年09月19日 18:03
  • 2504

file 选择图片后预览

图片上传预览是比较常见的需求,以前的做法,是在旁边隐藏一个 标签,然后给 file 标签加个事件,当用户选择文件之后,获得文件物理路径(文件绝对路径),然后赋值给 标签的 src 属性。但是现代浏览...
  • zhu562002124
  • zhu562002124
  • 2016年04月19日 11:06
  • 1943

File文件控件,选中文件(图片,flash,视频)立即预览显示

  继续总结项目里的一些小TIP,我们平常用file文件控件上传文件,要预览有时会刷新页面,结果file控件被清空,好多人问能能让他不清空或重新赋值,因为处于安全性的考虑,这是不可能的。那怎么进行无刷...
  • eidolon8
  • eidolon8
  • 2007年09月14日 12:05
  • 577

获取file域选择的图片显示在页面

$('#fileUpload').change(function() { return change(this, 'file-one'); }); function change...
  • kusedexingfu
  • kusedexingfu
  • 2016年08月18日 22:27
  • 3685

JS file图片即选即得显示,前端交互图片即选即得

//JS file 图片 即选即得 显示 //创建一个FileReader对象 var reader = new FileReader(); function f_change(file){ var...
  • u014596302
  • u014596302
  • 2017年03月07日 17:21
  • 1198

点击图片弹出文件选择框并覆盖原图功能

简单说下原理,把显示图片的img标签和上传文件的 input标签放在同一个div下,input设置的大小和img的大小一样, 设置透明度为0,用定位和设置优先级把input浮动在img上方,这样点击图...
  • u014558009
  • u014558009
  • 2017年08月24日 20:23
  • 635

dxf文件预览打开编辑相关控件推荐

DXF是一种开放的矢量数据格式,可以分为两类:ASCII格式和二进制格式;ASCII具有可读性好的特点,但占有空间较大;二进制格式则占有空间小、读取速度快。由于Autocad现在是最流行的cad系统,...
  • u014542704
  • u014542704
  • 2014年09月25日 17:38
  • 1081

js清空file选中的内容

web前端上传文件后 ,file控件中还是有之前选中过的文件 ,有时候会需要清空控件的内容. 试过好多清空file的方法 ,但感觉不好用 ,我就换个思路 ,直接把整个file控件对象删除掉 ,然后再重...
  • qq_34545192
  • qq_34545192
  • 2017年05月31日 15:14
  • 702

利用FlashPaper实现php在线预览word文档

很多人都实现在线阅读word的功能,利用com组件也能实现word预览,但由于服务器限制等原因不好实现。 今天我说的是利用FlashPaper这个工具实现在线转换成swf格式并能在线预览,这个主要利...
  • gaoasdf123456
  • gaoasdf123456
  • 2013年03月30日 11:55
  • 3447
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:File文件控件,选中文件(图片,flash,视频)即立即预览显示
举报原因:
原因补充:

(最多只允许输入30个字)