asp.net无刷新上传图片并回显 谁能给我一个asp.net无刷新上传图片取当时毫秒值作为名字,将名字存到数据库,并在页面显示的示例啊!我在网上找了半天没找见合适的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 无刷新上传只能是flash或者第三方控件 单纯ajax貌似做不到 在Ajax中上传图片(文件)要用第三方控件(anthem),以下是我用的,代码较多,你可以参考参考//Web.config<controls> <add tagPrefix="anthem" namespace="Anthem" assembly="Anthem"/> <!--上句是用Ajax上传控件Anthem的引用--> <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </controls>//aspx<td style="text-align: left" colspan="2"> <anthem:FileUpload ID="anthemFileUpload" runat="server" Width="185px" /><anthem:Button ID="anthemUploadButton" runat="server" EnabledDuringCallBack="false" OnClick="anthemUploadButton_Click" Text="上传" Width="70px" TextDuringCallBack="uploading..." /> </td>//.cs protected void anthemUploadButton_Click(object sender, EventArgs e) { Label2.Text = "上传信息"; Label2.UpdateAfterCallBack = true; string dirpath = Server.MapPath("~/Picture/temp/");//删除本页刷新临时文件夹temp下的所有图片 DeleteFolder(dirpath);//删除本页刷新临时文件夹temp下的所有图片函数 try { if ((TextBox10.Text == "") || (TextBox1.Text == "")) {//如果还没有录入书名编码,则不上传 Label2.Text = "未有录入图书资料"; Label2.UpdateAfterCallBack = true; //ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "alert", "<script language='javascript'>alert('提示:\\n请选择上传的图片!');document.all('anthemFileUpload').focus()</script>", false);//在anthem控件中无效 } else { string mymulu = TextBox10.Text.ToString().Replace(" ", "");//图片文件夹名称 string fileExt = System.IO.Path.GetExtension(anthemFileUpload.FileName);//文件扩展名 string booksname = TextBox1.Text.ToString().Replace(" ", "") + fileExt;//书名 if ((fileExt == ".jpg") || (fileExt == ".bmp") || (fileExt == ".gif") || (fileExt == ".png") || (fileExt == ".JPG") || (fileExt == ".BMP") || (fileExt == ".GIF") || (fileExt == ".PNG")) { if (!Directory.Exists(Server.MapPath("~/Picture/" + mymulu))) {//如没有文件夹/Picture/" 下的 mymulu文件夹,先建立 Directory.CreateDirectory(Server.MapPath("~/Picture/" + mymulu));//建立Picture/" 下的 mymulu文件夹 string filename = anthemFileUpload.FileName; string filenameid = System.DateTime.Now.ToString("yyyy-fff"); //string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + filenameid + filename; string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + booksname;//以书名文件名保存 string tppath = "~/Picture/" + mymulu + "/" + booksname;//图片数据库保存路径 anthemFileUpload.SaveAs(serverpath); string showpath = Server.MapPath("~/Picture/temp/") + filenameid + filename;//本页显示刷新图片保存路径 string tpshow = "~/Picture/temp/" + filenameid + filename;//本页显示刷新图片保存路径 anthemFileUpload.SaveAs(showpath); Image1.ImageUrl = tpshow;//在本页显示相片要用anthem控件 Image1.UpdateAfterCallBack = true; Label2.Text = "已上传到:" + tppath;// 已上传了封面图片数据库保存路径信息 Label2.UpdateAfterCallBack = true; //图片路径更新到数据库的cover_picture字段 string sqlstr = "update booksdata set cover_picture=" + "'" + tppath + "'" + "where books_name=" + "'" + TextBox1.Text.ToString().Replace(" ", "") + "'"; sqlcon = new SqlConnection(strCon); sqlcon.Open(); sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcom.ExecuteNonQuery();//更新图片保存路径 sqlcon.Close(); } else {//如果文件夹/Picture/" 下的 mymulu文件夹已存在,就上传 string filename = anthemFileUpload.FileName; string filenameid = System.DateTime.Now.ToString("yyyy-fff"); //string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + filenameid + filename; string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + booksname;//以书名文件名保存 string tppath = "~/Picture/" + mymulu + "/" + booksname;//图片数据库保存路径 anthemFileUpload.SaveAs(serverpath); string showpath = Server.MapPath("~/Picture/temp/") + filenameid + filename;//本页显示刷新图片保存路径 string tpshow = "~/Picture/temp/" + filenameid + filename;//本页显示刷新图片保存路径 anthemFileUpload.SaveAs(showpath); Image1.ImageUrl = tpshow;//在本页显示相片要用anthem控件 Image1.UpdateAfterCallBack = true; Label2.Text = "已上传到:" + tppath;// 已上传了封面图片数据库保存路径信息 Label2.UpdateAfterCallBack = true; //图片路径更新到数据库的cover_picture字段 string sqlstr = "update booksdata set cover_picture=" + "'" + tppath + "'" + "where books_name=" + "'" + TextBox1.Text.ToString().Replace(" ", "") + "'"; sqlcon = new SqlConnection(strCon); sqlcon.Open(); sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcom.ExecuteNonQuery();//更新图片保存路径 sqlcon.Close(); } } else { Label2.Text = "只能上传:.jpg .bmp .gif .png的图片"; } } } catch (System.NullReferenceException er) { Label1.Text = er.Message; } } 我给你思路一个 iframe 里面一个 input type='file'iframe 透明度 1% 大小 width:30;height:50 //一个按钮的大小input type='file' 大小 width:600;height:200 onclick = 'document.from[0].submit()'在ie6里面会有滚动条 ie7没有 无刷新上传可使用ajaxstring fileName = DateTime.Now.ToString("yyyyMMddhhmmss");http://topic.csdn.net/u/20091208/11/08a8ae42-ae54-4663-81c3-13b40f82e670.html swfupload你参考下这个控件 jQuery中的 artDialog怎么用? ASP.NET如何创建动态控件被能被其他的按钮调用 关于读图片问题 大家 做过了的帮下 下载文件时为什么弹出不了对话框?这几句代码有什么问题?50分,高手快来啊。救命!!! WindowsXP和Windows2003比在网站开发用途上有什么不方便之处? 怎样才能看到bin文件夹里.dll文件的源码呢? 自命aspx高手的请进来! 如何用Session判断用户登陆? asp.net权限问题 Asp.Net Timer提醒!!!!!!!!!!! 多表联合查询后填充DataSet。如何显示?
单纯ajax貌似做不到
<controls>
<add tagPrefix="anthem" namespace="Anthem" assembly="Anthem"/>
<!--上句是用Ajax上传控件Anthem的引用-->
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>//aspx
<td style="text-align: left" colspan="2">
<anthem:FileUpload ID="anthemFileUpload" runat="server" Width="185px" /><anthem:Button
ID="anthemUploadButton" runat="server" EnabledDuringCallBack="false" OnClick="anthemUploadButton_Click"
Text="上传" Width="70px" TextDuringCallBack="uploading..." />
</td>
//.cs protected void anthemUploadButton_Click(object sender, EventArgs e)
{
Label2.Text = "上传信息";
Label2.UpdateAfterCallBack = true;
string dirpath = Server.MapPath("~/Picture/temp/");//删除本页刷新临时文件夹temp下的所有图片
DeleteFolder(dirpath);//删除本页刷新临时文件夹temp下的所有图片函数
try
{
if ((TextBox10.Text == "") || (TextBox1.Text == ""))
{//如果还没有录入书名编码,则不上传
Label2.Text = "未有录入图书资料";
Label2.UpdateAfterCallBack = true;
//ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "alert", "<script language='javascript'>alert('提示:\\n请选择上传的图片!');document.all('anthemFileUpload').focus()</script>", false);//在anthem控件中无效
}
else
{
string mymulu = TextBox10.Text.ToString().Replace(" ", "");//图片文件夹名称 string fileExt = System.IO.Path.GetExtension(anthemFileUpload.FileName);//文件扩展名
string booksname = TextBox1.Text.ToString().Replace(" ", "") + fileExt;//书名
if ((fileExt == ".jpg") || (fileExt == ".bmp") || (fileExt == ".gif") || (fileExt == ".png") || (fileExt == ".JPG") || (fileExt == ".BMP") || (fileExt == ".GIF") || (fileExt == ".PNG"))
{
if (!Directory.Exists(Server.MapPath("~/Picture/" + mymulu)))
{//如没有文件夹/Picture/" 下的 mymulu文件夹,先建立
Directory.CreateDirectory(Server.MapPath("~/Picture/" + mymulu));//建立Picture/" 下的 mymulu文件夹
string filename = anthemFileUpload.FileName;
string filenameid = System.DateTime.Now.ToString("yyyy-fff");
//string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + filenameid + filename;
string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + booksname;//以书名文件名保存
string tppath = "~/Picture/" + mymulu + "/" + booksname;//图片数据库保存路径
anthemFileUpload.SaveAs(serverpath);
string showpath = Server.MapPath("~/Picture/temp/") + filenameid + filename;//本页显示刷新图片保存路径
string tpshow = "~/Picture/temp/" + filenameid + filename;//本页显示刷新图片保存路径
anthemFileUpload.SaveAs(showpath);
Image1.ImageUrl = tpshow;//在本页显示相片要用anthem控件
Image1.UpdateAfterCallBack = true;
Label2.Text = "已上传到:" + tppath;// 已上传了封面图片数据库保存路径信息
Label2.UpdateAfterCallBack = true;
//图片路径更新到数据库的cover_picture字段
string sqlstr = "update booksdata set cover_picture=" + "'" + tppath + "'" + "where books_name=" + "'" + TextBox1.Text.ToString().Replace(" ", "") + "'";
sqlcon = new SqlConnection(strCon);
sqlcon.Open();
sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcom.ExecuteNonQuery();//更新图片保存路径
sqlcon.Close();
}
else
{//如果文件夹/Picture/" 下的 mymulu文件夹已存在,就上传
string filename = anthemFileUpload.FileName;
string filenameid = System.DateTime.Now.ToString("yyyy-fff");
//string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + filenameid + filename;
string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + booksname;//以书名文件名保存
string tppath = "~/Picture/" + mymulu + "/" + booksname;//图片数据库保存路径
anthemFileUpload.SaveAs(serverpath);
string showpath = Server.MapPath("~/Picture/temp/") + filenameid + filename;//本页显示刷新图片保存路径
string tpshow = "~/Picture/temp/" + filenameid + filename;//本页显示刷新图片保存路径
anthemFileUpload.SaveAs(showpath);
Image1.ImageUrl = tpshow;//在本页显示相片要用anthem控件
Image1.UpdateAfterCallBack = true;
Label2.Text = "已上传到:" + tppath;// 已上传了封面图片数据库保存路径信息
Label2.UpdateAfterCallBack = true;
//图片路径更新到数据库的cover_picture字段
string sqlstr = "update booksdata set cover_picture=" + "'" + tppath + "'" + "where books_name=" + "'" + TextBox1.Text.ToString().Replace(" ", "") + "'";
sqlcon = new SqlConnection(strCon);
sqlcon.Open();
sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcom.ExecuteNonQuery();//更新图片保存路径
sqlcon.Close();
}
}
else
{
Label2.Text = "只能上传:.jpg .bmp .gif .png的图片";
}
}
}
catch (System.NullReferenceException er)
{
Label1.Text = er.Message;
}
}
一个 iframe 里面一个 input type='file'iframe 透明度 1% 大小 width:30;height:50 //一个按钮的大小
input type='file' 大小 width:600;height:200 onclick = 'document.from[0].submit()'
在ie6里面会有滚动条 ie7没有
string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
http://topic.csdn.net/u/20091208/11/08a8ae42-ae54-4663-81c3-13b40f82e670.html
你参考下这个控件