ASP.NET移动文件,本来想用那个Dir****.Move的方法的,但是不知道怎么回事总是出错,算了,还是自己写个方法遍历文件一个一个移动吧。
1 /// <summary>
2 /// 移动目录内的文件到另一目录
3 /// </summary>
4 /// <param name="sorDir">源目录,如:Server.MapPath("~/product_image/44/8813/")</param>
5 /// <param name="desDir">目标目录,如:Server.MapPath("~/product_image/141/8813/")</param>
6 public static void MoveDirFile(string sorDir, string desDir)
7 {
8 if (!Directory.Exists(sorDir))
9 {
10 return;
11 }
12 if (!Directory.Exists(desDir))
13 {
14 Directory.CreateDirectory(desDir);
15 }
16 foreach (string item in Directory.GetFiles(sorDir))
17 {
18 try
19 {
20 FileInfo fi = new FileInfo(item);
21 string tmp = desDir + fi.Name;
22 if (File.Exists(tmp))
23 {
24 File.Delete(tmp);
25 }
26 fi.MoveTo(tmp);
27 }
28 catch (Exception)
29 {
30 throw;
31 }
32 }
33 Directory.Delete(sorDir, true);
34 }
2 /// 移动目录内的文件到另一目录
3 /// </summary>
4 /// <param name="sorDir">源目录,如:Server.MapPath("~/product_image/44/8813/")</param>
5 /// <param name="desDir">目标目录,如:Server.MapPath("~/product_image/141/8813/")</param>
6 public static void MoveDirFile(string sorDir, string desDir)
7 {
8 if (!Directory.Exists(sorDir))
9 {
10 return;
11 }
12 if (!Directory.Exists(desDir))
13 {
14 Directory.CreateDirectory(desDir);
15 }
16 foreach (string item in Directory.GetFiles(sorDir))
17 {
18 try
19 {
20 FileInfo fi = new FileInfo(item);
21 string tmp = desDir + fi.Name;
22 if (File.Exists(tmp))
23 {
24 File.Delete(tmp);
25 }
26 fi.MoveTo(tmp);
27 }
28 catch (Exception)
29 {
30 throw;
31 }
32 }
33 Directory.Delete(sorDir, true);
34 }