使用FileUpload1来上传文件,问题是当文件已存在时,怎么弹出“文件已存在,是否覆盖”对话框。而且不是窗体模式,不能用messagebox。代码如下:
源代码:
<asp:FileUpload ID="FileUpload1" runat="server" BackColor="White" />
<asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="../Images/button/shangchuan.jpg" OnClick="ImageButton2_Click" /> //上传按钮
加上一个gridview, ID为"gv_xmztw1"
.cs中
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
ZTBFJK ztbfjk = new ZTBFJK();
ztbfjk.XMWYH = Request.QueryString["gs_xmxxlb"].ToString();
XmXxLb xmxxlb = gs_xmxxlb.GetOneXmXmLb(ztbfjk.XMWYH);
ztbfjk.XMZT = Convert.ToInt32(xmxxlb.XMZTBH);//插入时为数字
string fileName = ztbfjk.XMWYH + FileUpload1.FileName;
ztbfjk.WJMC = fileName;
ztbfjk.SZR = "000001";
ztbfjk.WJLJ = "~/File/" + fileName;
ztbfjk.SCRQ = DateTime.Now;
FileInfo fi = new FileInfo(Server.MapPath("../File/" + fileName));
if (fi.Exists)//如果文件存在
{
//如果存在,弹出是否覆盖代码
???????????????????????????这里不会写
}
else
{
bool re = gs_xmxxlb.addZtbfjkList(ztbfjk);
if (re)
{
string savePath = Server.MapPath(ztbfjk.WJLJ);
FileUpload1.SaveAs(savePath);
Response.Write("<script>alert('添加成功');window.location.href=window.location.href;</script>");
}
else
{
Response.Write("<script>alert('注册失败');window.location.href=window.location.href;</script>");
}
}
}
源代码:
<asp:FileUpload ID="FileUpload1" runat="server" BackColor="White" />
<asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="../Images/button/shangchuan.jpg" OnClick="ImageButton2_Click" /> //上传按钮
加上一个gridview, ID为"gv_xmztw1"
.cs中
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
ZTBFJK ztbfjk = new ZTBFJK();
ztbfjk.XMWYH = Request.QueryString["gs_xmxxlb"].ToString();
XmXxLb xmxxlb = gs_xmxxlb.GetOneXmXmLb(ztbfjk.XMWYH);
ztbfjk.XMZT = Convert.ToInt32(xmxxlb.XMZTBH);//插入时为数字
string fileName = ztbfjk.XMWYH + FileUpload1.FileName;
ztbfjk.WJMC = fileName;
ztbfjk.SZR = "000001";
ztbfjk.WJLJ = "~/File/" + fileName;
ztbfjk.SCRQ = DateTime.Now;
FileInfo fi = new FileInfo(Server.MapPath("../File/" + fileName));
if (fi.Exists)//如果文件存在
{
//如果存在,弹出是否覆盖代码
???????????????????????????这里不会写
}
else
{
bool re = gs_xmxxlb.addZtbfjkList(ztbfjk);
if (re)
{
string savePath = Server.MapPath(ztbfjk.WJLJ);
FileUpload1.SaveAs(savePath);
Response.Write("<script>alert('添加成功');window.location.href=window.location.href;</script>");
}
else
{
Response.Write("<script>alert('注册失败');window.location.href=window.location.href;</script>");
}
}
}
解决方案 »
- 如何在UpdatePanel中实现滚动条置底?
- asp.net网上订票系统
- 一个程序段需求帮忙!!
- 请问如何一次跳出二个循环?
- 郁闷`~~搞了几天的问题,既然是我没注意!!!我倒
- 请问,可否推荐一下ASP2.0(C#)的电子教程
- BulletedList可不可以用作显示网站首页的新闻标题页面,标题当然是超级联接,然后点击这个标题时就导航到相应的新闻页面,请问:
- 不显示删除回复显示所有回复显示星级回复显示得分回复 AutoCompleteExtender的显示问题
- 如何验证用户输入的日期是否合法,例如2002-02-30
- 用asp.net 发送电子邮件,我的服务器该怎么设置?
- 求一个ASP.NET图片上传图不失真的代码!!
- GridView添加标题行问题 急救助!
这句不行
那是winform里的东西,在web里不能用。
http://topic.csdn.net/t/20040409/08/2943354.html
有用吗
就用注册脚本块不行么,就12楼的
要不你就重新给上传文件命名
提示是否覆盖怎么办呢,如果不同的人上传的文件不同 名字相同嘞?
还是重新给个名字给上传文件吧
{ }
可以先判断文件名是否存在 然后进行不同操作
不行是什么意思?是不允许用还是用了没效果?
如果是用了没有效果的话,可以用Page.RegisterStartupScript("ConfirmExitFile","<script language='javascript'>confirm('是否覆盖?');</script>");
上传处理部分,如果文件已存在,设置一个任务超时(到这个超时如果客户端没有确认上传就删除该任务)
<add verb="POST" path="/upload.aspx" type="showjim.web.uploadHandler, showjim.web"/>
</httpHandlers></system.web></configuration>
当然这样做比较复杂,主要用于文件上传进度的显示,对于你的问题可以变通一下,先不提交上传文件,先动态加载js提交地址,确认为再提交文件。