在页面上准备登记资料时,即时上传了一些文件,后来资料不想登记了,准备退出页面,这时原来上传的文件已存在服务器里,请教在退出页面前使用什么方法,可以把原来上传的不用的文件删除了?
非常感谢!

解决方案 »

  1.   

    上传的时候把文件路径和文件名存储到数据库字段内,这样再调用File.Delete()方法 写一个循环,就可以把不需要的都删除掉。
      

  2.   

    上传成功,把文件路径保存到一个变量(var filePath)!
    重新上传,删除上次上传的文件(filePath 不为空),上传成功, 重新赋值
    用户点击保存,成功后清空 filePath 页面 onunload 事件判断 filePath  是否为空!
    不为空 表示 有上传文件为保存,需要删除!当然要结合 ajax
      

  3.   

    谢谢,我的问题是:在哪个页面退出函数里可以调用File.Delete()方法?
    有时是关闭页面上方的叉号,有时是在URL里输入了新的网址,怎么才能在后台捕捉到当前窗口退出呢?
    谢谢!
      

  4.   

    这个不错,不过我觉得保存在数据库里是不是不太好,用cookie吧,或者cache
      

  5.   


    我想可以在后台写一个函数来判断和删除上传的文件,
    请问在页面 onunload 事件中怎样才能调用后台的这个函数?
    非常感谢!
      

  6.   

    这个不错,不过我觉得保存在数据库里是不是不太好,用cookie吧,或者cache
    刚才弄错了....
      

  7.   

    恩 把路径和ID 名字存入一个文件中  做个标识
    然后遍历这个文件把需要删除的删除就行了。
        /// <summary>  
        /// C# 删除文件夹  
        /// 用法: DeleteFolder(@"c:\\1");  
        /// </summary>  
        /// <param name="dir"></param>  
        private static void DeleteFolder(string dir)  
        {  
            // 循环文件夹里面的内容  
            foreach (string f in Directory.GetFileSystemEntries(dir))  
           {  
               // 如果是文件存在  
               if (File.Exists(f))  
               {  
                   FileInfo fi = new FileInfo(f);  
                   if (fi.Attributes.ToString().IndexOf("Readonly") != 1)  
                   {  
                       fi.Attributes = FileAttributes.Normal;  
                   }  
                   // 直接删除其中的文件  
                   File.Delete(f);  
               }  
               else  
               {  
                   // 如果是文件夹存在  
                   // 递归删除子文件夹  
                   DeleteFolder(f);  
               }  
           }  
           // 删除已空文件夹  
           Directory.Delete(dir);  
       }