如今在许多站点都提供上传图片功能,一般查看图片和验证图片有效性的过程往往在服务器端处理,然后返回给用户。
相比较如今的WEB技术发展进度,这显然不能满足需要(笔者就有多个客户要求上传图片之前“实时预览”)。
事实上 借助DHTML技术这不难做到:
![]()
将以下代码保存为HTM文件,即可查看运行效果
<script language=JavaScript> var flag=false; function DrawImage(ImgD){ var image=new Image(); image.src=ImgD.src; if(image.width>0 && image.height>0){ flag=true; if(image.width/image.height>= 120/80){ if(image.width>120){ ImgD.width=120; ImgD.height=(image.height*120)/image.width; }else{ ImgD.width=image.width; ImgD.height=image.height; } ImgD.alt=image.width+"×"+image.height; } else{ if(image.height>80){ ImgD.height=80; ImgD.width=(image.width*80)/image.height; }else{ ImgD.width=image.width; ImgD.height=image.height; } ImgD.alt=image.width+"×"+image.height; } } /*else{ ImgD.src=""; ImgD.alt="" }*/ }
function FileChange(Value){ flag=false; document.all.uploadimage.width=10; document.all.uploadimage.height=10; document.all.uploadimage.alt=""; document.all.uploadimage.src=Value; }
function BeforeUpLoad(){ if(flag) alert("OK");else alert("FAIL"); } </script> <INPUT style="WIDTH: 143px; HEIGHT: 18px" type=file size=8 name=pic onchange="javascript:FileChange(this.value);"> <IMG id=uploadimage height=10 width=10 src="" onload="javascript:DrawImage(this);" ><BR> <Button onclick="javascript:BeforeUpLoad();">提交</Button>

|