2013-02-13 274 views
1

我有一個媒體中心網站,要求我們上傳大圖像,視頻到媒體庫。將大文件上傳到sitecore媒體庫

我在web.config中有以下設置的默認設置。

  1. Media.MaxSizeInDatabase(20MB)
  2. 的httpRuntime的maxRequestLength

我不想增加安全原因在生產服務器上MaxSizeInDatabase限制。

此外,Media.UploadAsFiles設置爲false。

所以,我的問題是 - 有沒有辦法配置sitecore,如果上傳的文件小於20MB,它會被存儲在數據庫中,大於20MB的文件會被存儲在文件系統中?

+0

只是一個善意的警告,我發現Sitecore的是不是太高興非常大的圖像,當它試圖重新調節(例如,一個10MB的僱用圖像,當它調整大小時,需要大量內存)。所以請確定你正在運行64位並擁有大量內存。此外,如果視頻非常大,用戶必須首先下載視頻,因爲Sitecore不會按默認流媒體播放。 – Holger 2013-02-14 09:53:29

回答

3

正如Martijn所說,沒有內置的功能可以自動檢測到這一點,但如果您知道該文件會很大(或由於大尺寸導致上傳失敗),那麼您可以手動「強制」保存到每個上傳的文件。

您需要使用高級上傳選項並選擇「上載爲文件」選項。

Upload Item Item to disk

編輯:如果你能使用YouTube,然後考慮以下模塊,很好地/與Sitecore的緊密集成。對於不同的提供者,還有其他一些方法可以實現同樣的目的。

+0

謝謝你們,這很有幫助。我正在考慮增加maxsizeindatabase以將所有內容存儲在數據庫中,或將所有項目存儲在文件系統中。根據你的情況,哪種方法適用於大文件(比如高達50-60MB)? – 2013-02-15 00:06:48

+0

存儲在數據庫中將意味着增加的大小,因此意味着需要更多的備份,加上更多的數據庫負載和更多的內部流量,因爲媒體將在第一次請求時被提取到磁盤。然而,存儲到磁盤意味着你沒有在服務器之間發佈媒體的好處(例如主從網絡),只有實際的媒體項目定義而不是物理圖像/視頻/文件,所以你將不得不設置某種服務器之間的同步。如果是視頻,那麼我會盡可能親自託管它們,讓YouTube/CDN爲您處理負載和流量。 – jammykam 2013-02-15 02:54:52

+0

應該添加,它也取決於您期望爲您的網站的流量。無論如何,我仍會受到YouTube/CDN視頻的誘惑。 – jammykam 2013-02-15 03:46:40

1

不,我不知道。至少不會自動。上傳的文件根據您的設置存儲在數據庫或文件系統中。 您可能想要創建覆蓋上傳方法,該方法可以自動爲您處理此問題,或者如Jammykam所說,使用高級媒體上傳方法中的手動複選框。

+0

我同意Martijin。 – 2013-02-14 16:21:12

+0

謝謝 - 欣賞你的幫助傢伙。 – 2013-02-15 00:09:08

相關問題