2012-02-24 32 views
1

問題很簡單:在集羣的Spring MVC環境中存儲上傳文件的最佳方式是什麼?將上傳的文件存儲在Spring MVC環境中的最佳方式

例如:假設我正在編寫社交網絡,我必須可以上傳個人資料圖片。用戶將最多隻有一個與他的個人資料相關的圖像。

解決方案可以在數據庫中的用戶表中添加一個blob列 - 我讀這在集羣環境(比包含大量圖像的文件夾更容易縮放數據庫)時很好。這是真的嗎?我如何在JPA(Hibernate和PostgreSQL)環境中實現這一目標?我看到有@Lob註釋,但我應該使用什麼類型的變量? byte[]

另一種解決方案是將它們存儲在硬盤上。什麼是存儲這些圖像的最佳途徑?在webapp文件夾中?在類路徑中?在Spring上下文之外的另一個文件夾中?

非常感謝您的幫助。

更新:一個我忘記說的重要細節。本網站的管理儀表板(CMS /後端)將用PHP編碼(我知道,我知道...),而前端將用Java Spring(MVC)編碼。數據庫全部由Java部分(JPA)管理。無論最終的選擇是什麼,它都必須符合這個要求。

+0

[在DB中存儲圖像的可能的重複 - 是或否?](http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay) – 2012-02-24 22:19:36

回答

0

我寧可不將它存儲在數據庫中。最好的地方是一些靜態文件(或CDN)的服務器。

如果你真的需要你可以存儲是作爲一個Lob,但我認爲這是一個壞主意,性能可伸縮性的原因。

更重要的是,數據庫似乎比簡單的內容分發網絡更昂貴。

相關問題