有人可以給我一些關於如何在C#中將圖像文件保存到數據庫的建議嗎? 我將節省大量圖片,因此減少需要的空間 的最佳方式是什麼? 我目前在DB中使用varbinary(max)字段。C#:將圖像保存到數據庫中
謝謝!
有人可以給我一些關於如何在C#中將圖像文件保存到數據庫的建議嗎? 我將節省大量圖片,因此減少需要的空間 的最佳方式是什麼? 我目前在DB中使用varbinary(max)字段。C#:將圖像保存到數據庫中
謝謝!
如果您必須存儲在SQL實際的文件然後確保你把周圍的圖像的大小一些限制,以確保正確規劃數據庫大小 - 您期望的圖像大小和大小是多少?
如果您必須將其存儲在SQL中,我的首選項是自動將它放在它自己的SQL數據庫中。這樣,我遇到這些圖像的任何性能問題都不會影響我的數據庫的其餘部分。
現在,如果您不必將圖像存儲在SQL數據庫中,那麼我認爲這只是調用了Azure Blob存儲。去看看它 - 它會給你你想要的一個非常有效的系統。
如果你不能使用Azure,那麼你應該把一個類處理讀/寫/查找映像到文件系統。保存到文件系統(正確完成)將比保存到SQL更好。
這樣可以。但是,如果這些鏡像非常大,並且您的DBA可能不再喜歡將它們放在那裏,您可以將它們放置在某個驅動器上並將該位置存儲在數據庫中。
我想有很多方法可以處理這個問題。只要權衡你的利弊。
我剛給你一個選擇。
將圖像存儲在數據庫中不是一個好主意。您可以將這些網址存儲到圖片中。
你輸入的比我快。是的,聽這個人。 – 2011-04-27 15:02:54
可以使用'Filestream'類型來代替'varbinary(max)' – Magnus 2011-04-27 15:03:43
什麼格式的圖片以及您使用的是哪種數據庫技術?
一種選擇是將圖像轉換爲二進制數組並將其推送到您的數據庫。我發現瞭如何在CodeProject做到這一點了一些不錯的代碼:
就像Magnus所說的,FileStreams不存儲在數據庫的頁面中,所以它不會影響性能。
儘管將文件存儲在數據庫中意味着您的數據庫備份將變得更大。
其他人提到只存儲URL。這也是一個好主意,也可能是一個簡單設置的最符合要求。
使用什麼類型的數據庫通信? (Linq2SQL,Linq2Entity也許) – Magnus 2011-04-27 14:59:18
SQL Server ..... – Jerald 2011-04-27 15:00:25
你通常如何保存東西給你的SQL Server? – Magnus 2011-04-27 15:01:51