上传文件时要按年月日进行分类管理,想生成2010/12/25这样进行分类的文件夹,现在我是先判断年文件夹,再判断月文件夹,再判断日文件夹,这样总觉得写得有点啰嗦?有没有好一点的方法呢。

解决方案 »

  1.   

    上传文件的时候 给一个上传时间的字段
    分类的时候直接用sql语句过滤就好了!
      

  2.   

    用变量接收 datetime.now()转化成字符串    赋值 给 create的文件夹名称
      

  3.   

    string strY = DateTime.Now.ToString("yyyy"), string strM = DateTime.Now.ToString("M"),string strY = DateTime.Now.ToString("D");
    if (!Directory.Exists(Y))//用来创建文件夹,如果不存在就创建文件夹
                    {
                        Directory.CreateDirectory(Y);
                    }if (!Directory.Exists(Y+"\\"+M+"\\"+D))//用来创建文件夹,如果不存在就创建文件夹
                    {
                        Directory.CreateDirectory(Y+"\\"+M);
                    }if (!Directory.Exists(Y+"\\"+M))//用来创建文件夹,如果不存在就创建文件夹
                    {
                        Directory.CreateDirectory(Y+"\\"+M+"\\"+D);
                    }
      

  4.   

     if (System.IO.File.Exists(path))
                                {
                                    path = System.Web.HttpContext.Current.Server.MapPath("upload") + @"\" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + @"\";
                                    System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(path);
                                    //判断文件夹否存在,不存在则创建
                                    if (!dir.Exists)
                                    {
                                        dir.Create();
                                    }
                                    path = dir + attname;
                                    timspath ="client/upload/"+DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() +"/";
                                }
      

  5.   

    直接判断全路径即可:string path = Server.MapPath("~/" + System.DateTime.Now.ToString("yyyy/MM/dd/"));
    if(!Directory.Exists(path))
        Directory.Create(path);
      

  6.   

    可以直接复制调用//建立 文件保存路径
        private string GetSaveFilePath()
        {
            try
            {
                DateTime dateTime = DateTime.Now;
                string yearStr = dateTime.Year.ToString(); ;
                string monthStr = dateTime.Month.ToString();
                string dayStr = dateTime.Day.ToString();
                string hourStr = dateTime.Hour.ToString();
                string minuteStr = dateTime.Minute.ToString();
                string dir = dateTime.ToString(@"\\yyyyMMdd");
                string path = Server.MapPath("/Upload/");
                if (!Directory.Exists(path + dir))
                {
                    Directory.CreateDirectory(path + dir);
                }
                return dir + dateTime.ToString("\\\\yyyyMMddhhmmssffff");
            }
            catch (Exception ex)
            {
                return string.Empty;
            }
        }
      

  7.   

     System.IO.Directory.CreateDirectory(Now.ToString("yyyy\\MM\\dd"))