2012-05-24 60 views
0

與我的其他問題類似,但我需要澄清。ASP.NET C#處理圖像

我有一個Web應用程序,其中多個用戶將在同一時間。在應用程序中,應用程序文件夾中的圖像將在下面繪製,保存,然後添加到頁面上的圖像控件中。

Bitmap image = new Bitmap(Server.MapPath("~") + "/Assets/img/timegrid.jpg"); 
Graphics graphics = Graphics.FromImage(image); 
Pen p = new Pen(Color.Blue, 5); 
//draw on image 
graphics.DrawLine(p, aPoint, bPoint); 

//save new image 
image.Save(Server.MapPath("~") + "/Assets/img/newtimegrid.jpg"); 
imgGrid.ImageUrl = "~/Assets/img/newtimegrid.jpg"; 

每個用戶的新圖像看起來都不一樣。但是,我擔心用戶A會看到用戶B的newtimegrid.jpg,而不是他自己的,因爲每個用戶都保存爲相同的文件名。我聽說過使用一個通用的圖像處理程序,並且我已經閱讀了一些這裏的解決方案,但我仍然不明白如何使用它,或者如果我創建了一個如何調用它,或者如果這甚至是一個解決方案對我的問題。任何幫助,將不勝感激。

回答

1

我建議你保持用戶ID的會話,並使用該ID在路徑唯一識別每個用戶的圖像路徑圖像的路徑。

您可以先檢查用戶是否已經存在路徑。

string strDirPath = Server.MapPath("~") + "/Assets/img/ + Session["UserID"].ToString(); 

if(Directory.Exists(strDirPath)) 
{ 
    Bitmap image = new Bitmap(strDirPath + "\\" + timegrid.jpg"); 
    //your code here 
} 
else 
{ 
    DirectoryInfo CreateDirectory(strDirPath); 
    Bitmap image = new Bitmap(strDirPath + "\\" + timegrid.jpg"); 
    //your code here 
} 
+0

是的,我想到了,我可能會這樣做。我只是想看看如果使用圖像處理程序將解決它。 –

+0

如果您希望每個用戶只有一個圖像,您可以將圖像名稱中的id – Adil