2011-04-19 61 views
1

我使用mvc2編寫應用程序。用戶應該能夠將圖像上傳到他們的個人資料。 保存圖像的最佳方式是將它們保存在數據庫中,但我認爲它也是最昂貴的一個。 (我正在使用MSSql) 我認爲最好的方法是將它們保存在服務器上。我想過:用戶上傳圖像,服務器調整大小並將圖像保存在服務器上,圖像路徑保存在數據庫中。如何在服務器上保存圖像(結構)

但是如果我的服務器上沒有更多容量,我必須使用第二個還是第三個容量呢?

我的問題:什麼是在服務器上處理圖像的最佳方式?靈活的最佳方式是什麼?

感謝您的回答!

回答

5

有許多因素需要考慮。

最好的方法不一定是將圖像存儲在數據庫中。這可能是一個不錯的選擇,特別是如果您想對圖像實施訪問控制。但是,這需要花費不必要從數據庫中提取圖像並將其加載到內存中,以便可以通過服務器進行流式傳輸。

然而,因爲這些個人資料圖片,和任何人誰訪問該用戶的個人資料可能是可見的,我提倡文件存儲在服務器上的文件並存儲在數據庫中對該文件的引用。

當談到它時,Web服務器非常擅長有效地提供文件。如果你可以利用這一點,你應該。

最後,你有空間的問題。首先,您可以防止首先上傳特定大小的圖像。您也可以按照您的建議自動裁剪爲選定的尺寸。

如果用戶的絕對數量成爲一個問題,你可以隨時媒體存儲在單獨的服務器上,存放一個完全合格的鏈接,每一個資源,例如: -

<img src="http://images2.mydomain.com/image/profile_123.png" alt="A profile pic" /> 
+0

當存儲圖像的文件,你也有大量的訪問控制選項。除此之外,我完全同意+1 – 2011-04-19 07:33:29

相關問題