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

简介:

   继续总结项目里的一些小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 >


上传图片时实现即时预览
解决方法:
< script  language ="javascript" >
        
function showimg()
        
{
                  document.all(
"image1").src=document.all("upfile").value;
         }


</ script >

…… ……
< input  type ="file"  id ="upfile"  name ="upfile"  runat ="server"  onpropertychange ="showimg()" >
< asp:Image  id ="Image1"  style ="…… ……"  runat ="server" ></ asp:Image >




本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/12/03/290031.html,如需转载请自行联系原作者
相关文章
|
6月前
antd如何隐藏Upload组件的删除和预览图标
antd如何隐藏Upload组件的删除和预览图标
387 1
|
6月前
|
前端开发
el-upload上传一张图片后显示缩略图并隐藏添加图片按钮
el-upload上传一张图片后显示缩略图并隐藏添加图片按钮
558 1
|
Windows
【Windows】显示缩略图非图标/开启缩略图
【Windows】显示缩略图非图标/开启缩略图
97 0
video 预览图 -去掉下载和全屏按钮
谷歌浏览器版本是54.0-57.0之间,并且也出现了视频右下角有按钮的情况都可以使用下面的代码。
322 0
video 预览图 -去掉下载和全屏按钮
Qt把当前窗口的内容保存为一张图片
Qt把当前窗口的内容保存为一张图片
462 0
点击abap的选择屏幕工具栏按钮下载excel模板
自己编写一个report,分配了事务码以后,执行该事务码,在选择屏幕界面看到一个按钮,点击这个按钮,就可以将预先上传至sap服务器的excel文件下载到本地。服务器上的excel文件是预先通过事务码SMW0上传到SAP服务器系统的:选择包,然后执行,看看里面有什么如下图,就是目前SAP系统中存在的e.
2819 0
|
C#
WPF 鼠标在图片Image上悬停时切换更改设置图片源Source
// 无效的写法,图片不会被切换 ...
2371 0