html file 文件类型 赋值到img,File文件控件,选中文件(图片,flash,视频)即立即预览显示...

本文介绍了一种实现无刷新文件预览的方法,通过JavaScript和HTML,针对图片、Flash和视频文件进行预览。在选择文件后,不刷新页面即可显示预览,避免了file控件清空的问题。主要涉及的技术包括文件类型检查、DOM操作和弹窗预览。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

选择页面:

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='%5C''+filename+'%5C'';

}

else

if(exname=="swf")

{

document.getelementbyid("previewimage").innerhtml='';

}

else

if(exname=="wmv"||exname=="mpeg"||exname=="asf"||exname=="avi")

{

var strcode='

strcode+=' autostart=\'1\' playcount=\'0\' enablecontextmenu=\'0\' type=\'application/x-mplayer2\'>

';

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");

}

html代码:

runat="server" onchange="checkdata()">

注:这里可以是图片(jpg或gif格式),flash动画(swf)及视频文件(wmv,mpeg,asf,avi)。大小限定在1m以内。

当前页预览

弹出预览页面:

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='%5C''+filename+'%5C'';

}

else

if(exname=="swf")

{

strcode='';

}

else

if(exname=="wmv"||exname=="mpeg"||exname=="asf"||exname=="avi")

{

strcode='

strcode+=' autostart=\'1\' playcount=\'0\' enablecontextmenu=\'0\' type=\'application/x-mplayer2\'>

';

}

}

if(self.opener.document.getelementbyid("txtadcode")!=null)

{

strcode=self.opener.document.getelementbyid("txtadcode").innerhtml;

}

if(strcode!="")

{

//window.alert(filename);

document.getelementbyid("showimg").innerhtml=strcode;

}

}

显示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值