<script language="javascript">
function preview() 

var fileext=document.updrug.dimg.value.substring(document.updrug.dimg.value.lastIndexOf("."),document.updrug.dimg.value.length); 
        fileext=fileext.toLowerCase(); 
    
        if ((fileext!='.jpg')&&(fileext!='.gif')&&(fileext!='.jpeg')&&(fileext!='.png')&&(fileext!='.bmp')) 
        { 
            alert("对不起,系统仅支持标准格式的照片,请您调整格式后重新上传,谢谢 !"); 
              document.updrug.dimg.focus(); 
        } 
        else 
        { 
        // alert(''+document.updrug.dimg.value);//把这里改成预览图片的语句 
      document.getElementById("previewdiv").innerHTML=" <img src='"+document.updrug.dimg.value+"'/>"; 
  //alert(''+document.getElementById("preview").innerHTML); 
        } } </script>
 
<form name="updrug"  action="SaveDrug.asp" method="post" enctype="multipart/form-data"> 
<label>图片: <input type="file" name="dimg" onchange="preview()"  /> </label> 
<div id="previewdiv"></div>
</form> 
将以上代码存成 test.htm 文件即可实现.

解决方案 »

  1.   

    ls的大侠,我试了,还是不行,不知道是不是与浏览器有关,
    ps:我的浏览器器是ie7
      

  2.   

    和客户端内存有关,如果浏览的图片大小过大,3、4M以上,多浏览几次,会有内存溢出。。
    我也试过这样。JS无法手动释放内存,反正我试了好久都找不到方法。还有,JS本不应该有权限访问、操作客户端的东西,所以在FireFox、Opera下,上传前浏览图片都是不行的,在Flash下也不行。。微软也会慢慢地把它的浏览器的权限降低,估计以后上传前浏览图片都是不行的了。