2011-10-13 41 views
0

我的網站具有面向公衆的個人資料。用戶可能擁有145x145的個人資料圖片。此刻,我一個目錄下的個人資料圖片存儲在我的服務器上:/images/users/然後我用一個ashx的文件發球權圖像爲每一個頁面:存儲和提供用戶個人資料圖片的最佳方式

<!-- from the html --> 
<img id="imgLogo" runat="server" alt="Company Logo" src="" /> 

// from the page code behind Page_Load event 
imgLogo.Src = "userImage.ashx?id=" + UserId; 

// from the .ashx file 
String imagePath = context.Server.MapPath("~/images/users/")+context.Request.QueryString["id"]+".jpg"; 

這個代碼就在那裏,當我加入了這個項目(編寫它的人已經離開了。)它似乎很好地工作,但我是網絡開發的新手,並且不熟悉其他實現這種系統的方式。

我現在需要爲網站添加一種不同類型的圖片 - 就像用戶個人資料的高大橫幅廣告。因此,這些圖像將比145x145輪廓頭像大得多。

我應該如何在我的網站上實現這些功能?我是否應該使用與當前版本相似的系統,將圖像存儲在/images/users/largeImage中,並將src設置爲largeUserImage.ashx文件?還是應該將圖像存儲在我的sql數據庫中?

這很可能是我想在未來添加更多用戶定義的圖像 - 也許像用戶照片集合和類似的東西。我應該考慮制定一個可輕鬆擴展的系統嗎?

回答

1

由於第三方框架如Gravatar不適合您的情況,您必須自行完成。

不要將照片保存在SQL數據庫中,而應保存其路徑(不同大小的圖像路徑)。在你userImage.ashx,你可以傳遞更多的1個參數來判斷哪些圖像的大小應該是牽強,如腳本:

imgLogo.Src = "userImage.ashx?id=" + UserId + "&size=" + ImageSize; 

其中IMAGESIZE是你定義的變量。

+0

這看起來像一個很好的系統,但我網站上的用戶是企業而不是人,所以我不認爲它會起作用。 – Oliver

+0

根據您的評論更新了答案。 – Raptor

相關問題