2009-12-18 112 views
3

我在決定在哪裏存儲用戶上傳的文件在我的asp.net mvc應用程序中遇到問題。MVC和用戶上傳的文件,在哪裏存儲文件?

我已經使用asp classic大約10年了,並且始終將我的文件存儲在站點上的光盤上,並將文件名和文件夾存儲在數據庫中。

你們會如何解決這個問題?

讓他們在數據庫中,並可能在那裏得到性能問題?或者按照我總是這樣做的方式離開它,並且可能會遇到「sync」文件系統和db問題?

我必須有某種數據庫中的關係信息,所以我不能將它們存儲只是在盤

我使用SQL 2005個大氣壓,而我讀的地方,SQL 2008,現在有某種的DataColumn的只是將一個「指針」(如文本數據類型)存儲到光盤上的文件中,那麼該走的路呢?

在某些方面,數據庫由於某種原因被稱爲數據庫,所以不知道爲什麼要重新發明輪子? :)

任何指針或想法,將不勝感激,我想我只是想知道我可能會遇到,如果我與數據庫的方法

/M

回答

2

你可以使用特殊的問題,去App_Data文件夾放置上傳的文件並將路徑存儲到數據庫中。如果你使用SQL Server 2008,那麼你可以看看FILESTREAM類型。

1

我不確定您的Web應用程序是否具有負載均衡,對於我過去構建的文件管理系統,我總是將我的文件存儲在SAN或網絡共享驅動器上,以便它們可以訪問到所有網絡/應用服務器。另外,我不會像原樣那樣存儲文件,而是在將它們保存在文件系統(我通常使用GUID作爲文件名和隨機文件擴展名)之前,始終更改文件名和文件類型。最後,我會將原始文件信息存儲在數據庫中,這些文件可以在邏輯上而不是物理上移動或複製。

+0

您好,請您詳細說明最後一句話嗎?謝謝:) – Bartosz 2017-03-23 22:48:12