ajax FileUpLoad 上传图片,并把相应的数据插入数据库

jt9079 2010-04-25 01:22:22
HTML代码:
<table>
<tr>
<td></td><td><input id="fileToUpload" type="file" size="45" name="fileToUpload"></td>
</tr>
<tr>
<td colspan=2>请选择文件上传(asp.net默认上传最大为4M,大于4M会出错)</td>
</tr>
tr>
<td>标题</td><td><input id="txtTilie" type="text" /></td>
</tr>
<td>内容</td><td><input id="Text2" type="text" /></td>
</tr>
<tr>
<td>
<button class="button" id="buttonUpload" >Upload</button></td>
</tr>
</table>

要时间无刷新的将文件上传到服务器的文件夹上,并将上传文件的路径、标题及短信内容写入数据库相关的表中。
并且在上传及操作数据库的过程中,要有类似 “数据操作中,请不要关闭网页”的提示。。
不使用AJAX我已经实现。
现在跪求AJAX版本。。如果是基于微软的AJAX最好。。
其他的也行。如AJAXPRO或JQUERY都可以。。。

如果分不够,请说。。。另开贴送分。。。
...全文
486 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jt9079 2010-04-26
  • 打赏
  • 举报
回复
最后采用了10楼的方法。。
gdlpc 2010-04-25
  • 打赏
  • 举报
回复
//在: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中:
<anthem:Label ID="Label2" runat="server" Font-Size="10pt" ForeColor="Blue" Text="上传信息"></anthem:Label>
<anthem:Image ID="Image1" runat="server" Height="125px" ImageUrl="~/Images/nopic.gif"
Width="94px" />
<anthem:Button ID="anthemUploadButton" runat="server" EnabledDuringCallBack="false" OnClick="anthemUploadButton_Click"
Text="上传" Width="70px" TextDuringCallBack="uploading..." />

//.cs中:
protected void anthemUploadButton_Click(object sender, EventArgs e)
{
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();

}
polarissky 2010-04-25
  • 打赏
  • 举报
回复
有一个新添异步上传的控件: Ajax Control Toolkit AsyncFileUpload
http://www.asp.net/ajaxlibrary/act_AsyncFileUpload.ashx
jt9079 2010-04-25
  • 打赏
  • 举报
回复
gdlpc....
能不能说具体点。。
例如给点代码。。
急用。。。
gdlpc 2010-04-25
  • 打赏
  • 举报
回复
我的解决方法是用第三方控件如:
Anthem.dll
jt9079 2010-04-25
  • 打赏
  • 举报
回复
楼上的。。
不要光流口水啊。。
给解决方法啊。。
雨网科技 2010-04-25
  • 打赏
  • 举报
回复
jt9079 2010-04-25
  • 打赏
  • 举报
回复
to:wuyq11...
设置Button为PostBackTrigger
或者把ScriptManager的EnablePartialRender置为False
之后,UpdateProgress就出不来了。。
而且页面会刷新。。

我现在最主要是想,UpdateProgress的提示能够出来。。
担心数据大,上传或写入数据库慢的时候,用户重复点击按钮
gdlpc 2010-04-25
  • 打赏
  • 举报
回复
VS的 FileUpLoad 控件不支持在Ajax中的UpdatePanel内使用,
如要在Ajax使用VS的 FileUpLoad,则要把 FileUpLoad放在UpdatePanel之外,这样页面会有刷新的

我的解决方法是用第三方控件如:
Anthem.dll
lzsh0622 2010-04-25
  • 打赏
  • 举报
回复
http://www.javaeye.com/topic/81120ajax jsp 无刷新上传文件
mengxj85 2010-04-25
  • 打赏
  • 举报
回复
wuyq11 2010-04-25
  • 打赏
  • 举报
回复
设置Button为PostBackTrigger
JQuery上传插件Uploadify
ajax 异步上传
updatepanel 文件上传

62,046

社区成员

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

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

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

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