asp.Net中 上传图片时 怎样做到本地的浏览文件对话框点确定时 就可以在页面中预览即将上传的图片
或者说,可以获取fileupload控件的“文件获得”事件。
封装好的控件虽然好用,但有时也会头疼,向按照自己的要求做一个有没这个能力焦灼中。

解决方案 »

  1.   

    获取图片不是问题,我的问题是,在fileupload的对话框确认后立即就可以预览
    而fileupload控件没有onchange事件 而且控件获得文件路径后也不会产生页面刷新
    大多数时候我看到的是用input type=file的onchange来预览的,可是这样上传就有些费劲了
      

  2.   

    page_load中执行
    1.fileupload1.Attributes.Add("onchange","mm(this.value)")
    客户端:
    js
     function mm(val)
     {
       //此处应判断是否为图片url
       document.getElementById("img1").src=val;
     }
      

  3.   

    <script for="upload" event="onpropertychange">   
    //当 id 为 upload 的对象上的属性发生变化时调用此段代码
    //设置隐藏图片的地址为上传控件框的值
    pic.src=this.value
    </script>
    <script for="pic" event="onload">
    //当 id 为 pic 的对象在装载完成时触发此段代码
    this.style.display=""    //以行内元素方式显示隐藏的图片
    </script>
    <script for="pic" event="onerror"> 
    //当 id 为 pic 的对象在装载过程中发生错误时触发此段代码
    this.style.display="none"   //隐藏图片
    alert("所选文件并非图片,请重新选择")
    </script>
    <input type="file" id="upload">
    <img id="pic" style="display:none"> 
      

  4.   

    晕了不能编辑,
    发一个支持IE,FF的。
    <img id="img1" src=""/>
    <script>
    function fileChange(obj) {
    var url = "";
    if(document.all)
    {
    url = obj.value
    }else
    {
        url = obj.files[0].getAsDataURL();   
    }
    document.getElementById("img1").src= url;
    }
    </script>
    <input type="file" onchange="fileChange(this);" />