求解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