2009-08-10 116 views

回答

3
  1. 將它讀入字符串變量。
  2. 將其存儲在BLOB字段中。
  3. 不要在 數據庫中存儲圖像數據,最好是隻存儲一個指向實際圖像文件的獨特 文件名,這將有助於減少數據庫膨脹並使您無需獲取大量記錄。
1

使用BLOB字段類型並照常寫入。請記住保存圖像類型,當您想要顯示圖像時有必要保存圖像類型。

2

這取決於圖像大小上

如果他們是大(超過一兆左右,更多),你有很多他們或他們的開放式量 - 那麼它可能是更好的存儲在文件系統上,並將該位置存儲在數據庫中。

優點:

  1. 更好DB生長特性
  2. 容易做增量備份UPS
  3. 容易有分層存儲(對頻繁使用的圖像快速昂貴的存儲,慢的存儲不經常使用的)
  4. 可能有部分文件隨機訪問(不需要讀取整個事情)

個缺點:

  1. 很難做到交易
  2. 單獨的地方,需要加以管理
  3. 需要被管理
  4. 斑點更容易編程

如果單獨訪問控制圖像在幾k範圍內,並且你只有有限的數量,然後使用MemoryStream(保存到任何流中)並將字節傳輸到blob字段。

SQL服務器爲您提供了最好的與他們的文件系統字段類型的兩個世界(外部化的BLOB到一個文件中,但在其他方面被視爲就像一個BLOB)

這也是不錯存儲有關圖像中的額外信息其他領域 - 所以你不必閱讀圖像blob爲了做一些事情。例如:

  1. 大小
  2. 類型
  3. 如果多頁(如TIFF),頁數

我在DB寫一些圖像的考慮我的博客:

http://www.atalasoft.com/cs/blogs/loufranco/archive/2007/12/03/images-in-databases-part-i-what-to-store.aspx

http://www.atalasoft.com/cs/blogs/loufranco/archive/2007/12/04/images-in-databases-part-ii-web-images-are-random-access.aspx

http://www.atalasoft.com/cs/blogs/loufranco/archive/2009/04/28/document-storage-database-blobs-or-the-filesystem.aspx