上傳臨時圖片,並後續決定移動圖片到指定文件夾都是在發佈內容中很常見的一種圖片管理方式,而判斷文件夾是否按年月日存在,並決定創建文件夾,都是通過年月日的層級目錄來創建的,也便於定義和管理,時間的要素能夠避免重複性問題。
工具/原料
開發程序工具,比如Visual Studio版本。
方法/步驟
程序的整個過程思路就是按照指定文件夾,加上年月日層級分別判斷文件夾是否存在?如果不存在就創建相應的文件夾,最後創建完文件夾之後,將舊路徑文件移動到新路徑,這其中需要重點注意的就是文件夾權限問題,一定要著重考慮。
//注意文件件權限問題
//總文件夾路徑:F:/temp,當前日期2015年11月13日
string newpath = "F:/temp";
//加上年份名稱路徑:F:/temp/2015
newpath = newpath + "/" + DateTime.Now.Year.ToString().PadLeft(4, '0');
//判斷是否存在,不存在則創建文件夾,名稱:2015
if (!System.IO.Directory.Exists(newpath))
{ System.IO.Directory.CreateDirectory(newpath); }
//加上月份名稱路徑:F:/temp/2015/11
newpath = newpath + "/" + DateTime.Now.Month.ToString().PadLeft(2, '0');
//判斷是否存在,不存在則創建文件夾,名稱:11
if (!System.IO.Directory.Exists(newpath))
{ System.IO.Directory.CreateDirectory(newpath); }
//加上日期名稱路徑:F:/temp/2015/11/13
newpath = newpath + "/" + DateTime.Now.Day.ToString().PadLeft(2, '0');
//判斷是否存在,不存在則創建文件夾,名稱:13
if (!System.IO.Directory.Exists(newpath))
{ System.IO.Directory.CreateDirectory(newpath);}
//顯示路徑:F:/temp/2015/11/13/
Console.WriteLine(newpath);
這其中的字符串方法.PadLeft(2, '0')是指定字符串如果是1位,那麼前面補足0。
//後續移動圖片
//原先圖片路徑
string temppath = "F:/tempfile/2015/11/11/11.jpg";
//新路徑+文件名
newpath = newpath + "/" + temppath.Substring(temppath.LastIndexOf('/'));
//移動圖片,判斷文件是否存在,存在則移動文件
if (System.IO.File.Exists(temppath))
{
System.IO.File.Move(temppath, newpath);
}
//顯示圖片路徑:F:/tempfile/2015/11/11/11.jpg
Console.WriteLine(temppath);
測試結果顯示為:
原先的舊圖片路徑:F:/tempfile/2015/11/11/11.jpg
新路徑文件夾只包含:F:/temp
程序運行之後的圖片路徑:
新路徑文件夾temp的子目錄創建了年月日層級文件夾以及移動過來的文件:F:/temp/2015/11/11/11.jpg
原先的舊圖片路徑沒有了文件:F:/tempfile/2015/11/11
注意事項
年月日文件夾命名方式,需要注意個位數的月日時是否在前面補足0。