摘要:FileUpload 上傳圖片以及修改圖片
最近有客戶因為一個頁面所需要上傳一個縮小圖以及一個放大圖
但是客戶上傳完畢後發現怎麼兩張圖片都一樣(本來想放一張橫的一張直的)
我就去查可能是因為客戶上傳時候檔名是使用相同的導致後面那一張圖片把他覆蓋過去!!
解決方法
在儲存圖片以及檔名時候先把檔名重新命名但不能重覆,所以使用時間來更改檔名
先寫一隻工具型的方法
public static string ChangeFileNameAsRandom(string oldFileName)
{
System.Threading.Thread.Sleep(1);
return DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond + AfterTheString;
}
{
System.Threading.Thread.Sleep(1);
return DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond + AfterTheString;
}
將檔名使用時間命名後傳出字串
修改照片的時候要在考慮到原始檔案使否還要使用 若不使用 應該刪除
所以當更改圖片的時候我們應該先把檔案刪除後在update資料庫
刪除檔案的方法可以使用
System.IO.File.Delete("path");
path可以在搭配
System.IO.File.Delete(Server.MapPath("path"));
使用Server.MapPath("path");
可以找出此檔案的原使路徑
後來還是寫成一隻方法
參數說明:
path ps:image/
filename 200811281232313.jpg
結果輸出
d://image/200811281232313.jpg
public static string MergePathAndFileName(string FileName,string path)
{
string serverPath = HttpContext.Current.Server.MapPath(path);
return serverPath + FileName;
}
{
string serverPath = HttpContext.Current.Server.MapPath(path);
return serverPath + FileName;
}