asp.net无刷新上传图片并回显

wuxd1014 2010-03-26 04:07:49
谁能给我一个asp.net无刷新上传图片取当时毫秒值作为名字,将名字存到数据库,并在页面显示的示例啊!我在网上找了半天没找见合适的
...全文
1882 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yellowhe3 2011-05-26
  • 打赏
  • 举报
回复
我是用ajax实现的
ivenlove 2011-05-26
  • 打赏
  • 举报
回复
收藏,学习。
Lisliefor 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 newdigitime 的回复:]

swfupload
[/Quote]

这个真好用,不光无刷新,还有进度条,导入完,还可做预览的缩略图。
ringobob 2011-05-25
  • 打赏
  • 举报
回复
swfupload
你参考下这个控件
BigMouth• 2011-05-25
  • 打赏
  • 举报
回复
多年后的我还在纠结这个问题....
zhangwuji155 2010-09-26
  • 打赏
  • 举报
回复
看来多年前有和问过和我同样的问题
wuyq11 2010-03-26
  • 打赏
  • 举报
回复
无刷新上传可使用ajax
string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
http://topic.csdn.net/u/20091208/11/08a8ae42-ae54-4663-81c3-13b40f82e670.html
newdigitime 2010-03-26
  • 打赏
  • 举报
回复
swfupload
a125351554 2010-03-26
  • 打赏
  • 举报
回复
我给你思路
一个 iframe 里面一个 input type='file'

iframe 透明度 1% 大小 width:30;height:50 //一个按钮的大小
input type='file' 大小 width:600;height:200 onclick = 'document.from[0].submit()'


在ie6里面会有滚动条 ie7没有

gicjoe 2010-03-26
  • 打赏
  • 举报
回复
要第三方控件
gdlpc 2010-03-26
  • 打赏
  • 举报
回复


在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;
}
}
kkbac 2010-03-26
  • 打赏
  • 举报
回复
加个ifream就可以了.
struggle_198654 2010-03-26
  • 打赏
  • 举报
回复
你给上传控件加个客户端事件就可以了
vip__888 2010-03-26
  • 打赏
  • 举报
回复
无刷新上传只能是flash或者第三方控件
单纯ajax貌似做不到
liaolian9948 2010-03-26
  • 打赏
  • 举报
回复
毫秒值??總要加個日期吧。。不然會重複。。
這個名字是后臺處理。。
你網上找下無刷新的。。自己再改改就行啦。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧