none
上传文件如果存在则覆盖原有弹出提示,否则取消 RRS feed

  • 问题

  • 网站也搜索了下此问题。但多数多是把已存在文件重新命名上传了,如何达到文件存在弹出提示。
    页面一个服务端上传控件。一个上传按钮。点击按钮通过File.Exits(path)判断文件是否存在,
    我测试了好个方法,包括用临时页面temp.aspx,temp.aspx的作用是在pageload时用Response.Rediect("a.aspx?fag=1");  
      a.aspx是刚才做上传的页面,然后在a.aspx的pageload时request["fag"]的值,如果是1的话就证明用户需要覆盖原有文件,  
      程序执行SaveAs操作。现在问题是,由于原来的a.aspx页面已经刷新,原来file控件框的值已经清除,即使我可以用session保存,  
      但实际上file控件是没有任何东西的。
    protected void btnUpload_Click(object sender, EventArgs e)
    {
         if(!File.Exits(path))
         {
            //上传,保存
         }
         else
         {
              //这里要求弹出提示,确认覆盖,保存,否则return不操作。上一个帖子。用X.x.Y 版主方法。测试。如果文件存在,取消选择一个不存在的文件,点击确定。还会提示该文件已经存在。
         }
    }

    一直没有一个好的实现方法。
    2009年11月30日 8:58

答案

  • 你这个需求问题 用异步ajax解决 上传文件之前 用异步传送服务器 判断是否存在 如果存在的发送客户端一段信息 比如提交按钮禁用 提示 是否覆盖

    2009年11月30日 12:37

全部回复

  • 用session  判断 第一次null 提示对话选择 session赋值 第二次判断有值 覆盖文件
    2009年11月30日 9:11
  • 你好mldark 不行的
    2009年11月30日 10:40
  • 你这个需求问题 用异步ajax解决 上传文件之前 用异步传送服务器 判断是否存在 如果存在的发送客户端一段信息 比如提交按钮禁用 提示 是否覆盖

    2009年11月30日 12:37
  • 最初我是把上传按钮禁止,也就是说必须现检查文件是否存在。然后按钮才可用。检查文件是否存在存在提示上传将会覆盖。但这样感觉用户体验,操作步骤过多。开始思路就是用脚本confirm。测试几次都没达到如意效果。咳!~!
    2009年11月30日 13:10
  • 你这样还不如一次重命新名的
    你提交一次后文件已经上传了 然后存在的话返回客户端提示......再提交这时file元素文件已经不存在了 除非上传到新文件夹保存
    这样体验 缺点是不能上传比较大文件 第一次上传等了一段时间 然后又提交等一段时间 一般用户早没耐心等着

    2009年11月30日 13:45