2011-06-26 68 views
0

我即將創建一個ASP.NET MVC應用程序,將有超過2000個產品,每個產品將約20張照片。該應用程序將asp.net MVC應用程序和上傳圖片到路徑VS數據庫

我使用SQL Server 2008 R2來管理我的數據。這種方式在這裏更好;

  • 上傳圖片到一個路徑和 存儲,以便它們的文件名數據庫 才能夠做出 彼此相關。
  • 數據庫 內的字節存儲照片以及和needded時從那裏retreive他們 。
+1

[在DB中存儲圖像的可能的重複 - 是或否?] – Mat

+0

另一個問題是的日期我會說,如果你使用FILESTREAM類型的存儲 – gbn

回答

1

肯定是在文件系統(存儲路徑)是更好的,我在過去做了兩個。

針對SQL Server存儲圖像 A)投注和輸出數據可以更加困難,因爲必須用BLOB類型的對象和一些奧姆斯真的不迎合這種 B)你的數據庫是更大如此效果您的備份/還原策略。你備份的頻率越高越好,但空間會增加。存儲在文件中,是的,你仍然需要備份,但備份文件系統很容易。 C)當你用完存儲空間時,只需添加另一個NAS驅動器/服務器,並開始將圖像存儲在那裏,所以尺度水平

的普遍看法是不是存儲在兩個地方的數據一樣好,但對我來說它更好,因爲在存儲在用於數據類型最好存儲介質中的數據的類型..

1

絕對存儲爲路徑而不是字節數組。這意味着您可以輕鬆地更改實際圖像本身,而無需在SQL中更改任何代碼或混淆(只要新文件與舊文件名稱相同)。

希望這會有所幫助。

1

在使用FILESTREAM它結合了2種觀點的數據庫(文件和數據庫)

FILESTREAM集成SQL Server數據庫引擎以通過將varbinary(max)二進制大對象(BLOB)數據作爲文件存儲在NTFS文件系統上文件系統。 Transact-SQL語句可以插入,更新,查詢,搜索和備份FILESTREAM數據。 Win32文件系統接口提供對數據的流式訪問。

這改變了文件VS數據庫參數

如果你想只存儲路徑,那麼你就必須接受一個事實,即圖像和數據庫不同步的一段時間。

+0

FILESTREAM絕對看起來要走的路,但SQL Server必須特別啓用。你能想到爲什麼一個託管服務會拒絕在共享服務器上啓用FILESTREAM的原因嗎? – StuTheDog

+0

@StuTheDog:不能幫你那裏抱歉。我從來沒有使用託管的SQL框 – gbn