当前位置:编程学习 > C#/ASP.NET >>

求解qq照片瓶的图片功能

就是一个imagebutton点击后弹出选择框,能选择图片。
完后选中图片确定后,图片地址就赋值给imagebutton了,然后提交按钮上传图片。(imagebutton相当于预览图片)

前面查了下,说是隐藏fileupload,但是不知道怎么在imagebutton点击后怎么打开。
这个简单的话先用这个实现下看,应该还有别的方法吧。 --------------------编程问答-------------------- 自己写上传控件如flash,activex等
隐藏fileupload
<style>   
input{border:1px solid green;}   
</style>   
<BODY>   
 
<form method="post" action="" enctype="multipart/form-data">   
<input type="text" id="txt" name="txt">   
  <input type="button" onmousemove="f.style.pixelLeft=event.x-60;f.style.pixelTop=this.offsetTop;" value="请选择文件" size="30" onclick="f.click()">   
<input type="file" id="f" onchange="txt.value=this.value" name="f" style="position:absolute;filter:alpha(opacity=0);" size="1" hidefocus>
 
<INPUT TYPE="submit">   

 protected void Page_Load(object sender, EventArgs e)
  {
  fileupload1.Attributes.Add("style", "display:none");
  if (Request.HttpMethod == "POST")
  {
  Request.Files[0].SaveAs(Server.MapPath("~/1.jpg"));
  }
  }

  <script type="text/javascript">
  function browse() {
  document.getElementById("<%=fileupload1.ClientID%>").click();
  }  

  </script>

  <asp:FileUpload ID="fileupload1" runat="server" />
  <input type="button" value="browse" onclick="browse()" />
  <input type="submit" value="上传" /> --------------------编程问答-------------------- 客户端预览图片js处理,可以参照以下:
http://www.cnblogs.com/cloudgamer/archive/2009/12/22/ImagePreview.html

至于隐藏fileupload还是比较简单的,大致如下:
<asp:FileUpload ID="FileUpload1" runat="server" style="display:none;" />
<asp:ImageButton ID="ImageButton1" ImageUrl="" runat="server"  OnClientClick="document.getElementById('FileUpload1').click();" />

--------------------编程问答-------------------- 先用JS来写一个DIV 里面包含上传控件
 
也可以用Jquery来弹框 里面包含上传控件

点按钮的时侯 弹框

选图片 赋值。。这些步骤。。 --------------------编程问答--------------------

<form id="form1" runat="server">
    <div>
        <asp:ImageButton ID="ImageButton1" runat="server" Width="120px" Height="80px" ImageUrl="~/images/large_QDWc_1169d039124.jpg"
            OnClick="ImageButton1_Click" OnClientClick="document.getElementById('fimg').click();" />
        <div id="ff" style="display: none;">
            <asp:FileUpload ID="fimg" runat="server" onchange="document.getElementById('ImageButton1').src=this.value" />
        </div>
    </div>
    </form>

我想先用这种方法弄出预览图片效果。
但是onchange事件的时候imagebutton的src不能被重写...没有变化。 --------------------编程问答--------------------

<form id="form1" runat="server">
    <div>
        <asp:ImageButton ID="ImageButton1" runat="server" Width="120px" Height="80px" ImageUrl="~/images/large_QDWc_1169d039124.jpg"
            OnClick="ImageButton1_Click" OnClientClick="document.getElementById('fimg').click();" />
        <div id="ff" style="display: none;">
            <asp:FileUpload ID="fimg" runat="server" onchange="document.getElementById('ImageButton1').src=this.value" />
        </div>
    </div>
    </form>

我想先用这种方法弄出预览图片效果。
但是onchange事件的时候imagebutton的src不能被重写...没有变化。 --------------------编程问答-------------------- 顶起,我现在想先实现qq照片瓶那个点了imagebutton后显示成选中的图片预览。
  但是onchange时src没法重写。求指点。 --------------------编程问答-------------------- 顶贴什么的最讨厌了。 --------------------编程问答--------------------

 <div id="di">
            <asp:ImageButton ID="ImageButton1" runat="server" Width="120px" Height="80px" ImageUrl="~/images/large_QDWc_1169d039124.jpg"
                OnClick="ImageButton1_Click" OnClientClick="document.getElementById('fimg').click();" />
        </div>
        <div id="ff" style="display: none;">
            <asp:FileUpload ID="fimg" runat="server" onchange="f(this)" />
        </div>
        <script type="text/javascript">
            function f(obj) {

                var sn_di = document.getElementById("di");
                var sn_oldimg = document.getElementById("ImageButton1");
                obj.select();
                var imgsrc = document.selection.createRange().text;

                alert(imgsrc);
                sn_di.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgsrc;
                sn_oldimg.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgsrc;


            }
        </script>

郁闷,我查的IE8滤镜显示的话获取图片都是 .select()来获取的。但是为撒我一直获取不到,都是“”空呢。
弹出来的框的确有选中图片啊。

到了这里            sn_di.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgsrc;
还弹js指针错误
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,