2012-01-22 30 views
2

像許多人一樣,我正在處理爲網站上傳的用戶圖像。現在我們只是將所有內容保存爲一個靜態文件,並讓瀏覽器調整爲HTML,我知道次優,因此我的問題。我想轉移到一個可能更好的過程,其中提供的圖像已經是正確的大小。處理和存儲用戶提供的圖像到網站的做法

顯然,我想存儲一個原始的,但我想知道辦理其他尺寸的正確方法。大多數普通照片需要以2種縮略圖格式以及更大的(例如小於800X600像素)格式進行查看。某些照片可能需要以某些其他格式進行查看,但每張照片在上傳時都會「知道」它需要的格式。所以我的問題是我應該存儲文件的所有版本(可能3-4),並允許我的靜態文件服務器保持真正的靜態,或者我應該建立一個請求處理程序,從原始按需重新調整圖像的大小? (或其他選項)

我傾向於在保存時生成的圖像,並編寫腳本回填如果我需要其他尺寸。

+0

另外,我也盡我所能在這裏使這個問題作爲普遍適用的可能,從而「使互聯網和堆棧溢出,效果更好。」我認爲這個問題或者某種形式的問題經常出現,應該希望有一些經典的實踐答案。如果你們中的任何一位提問結束 - 警察以癢的觸發手指來到,請編輯問題而不是投票結束。我知道這是很多要問的,因爲你可能以這種方式滿意度較低,但想一想......這是正確的做法。 – umassthrower

+0

真棒,一個值得回答的問題就來了,看看那個,沒有人考慮的情況下也可以進行近距離投票,也許可以編輯問題或發表評論讓我知道他們爲什麼認爲應該關閉這個問題,改進。 – umassthrower

回答

2

你有兩個選擇,你提出了一個(使用服務器端的重建具有各種尺寸您的圖像,然後將它們存儲靜態),或者你可以使用服務器端腳本來從原來的動態提供了圖像。你可以指定你的頭文件來告訴瀏覽器強制緩存,這樣你的服務器就不會一直提供動態縮小的圖像。

選項1個優點:正確的圖像,每一次。

選項1缺點:更多的空間,更多的文件

選項2的優勢:節省空間,並且可以在飛行

選項來創建更多尺寸的缺點2:更強的處理能力,更依賴於瀏覽器(少最佳帶寬優化)

就個人而言,我會去的靜態路由,您可以用良好的壓縮/擠壓技術優化文件大小,你知道你的明確用戶接收正確的文件。 舉例說明Facebook,Google,Apple,CNN和Wikipedia如何存儲他們的圖像。當它需要對每個請求進行操作時,它們都不會動態輸出圖像。

+0

是的,這正是我所想的。你是如何確定這些網站不動態生成它們的?我考慮過查看網址,但之後他們可能會重寫一些文字,我們甚至不知道背景中發生了什麼。 – umassthrower

+1

不同的博客通過twitter隨時隨地通過Google和Facebook以及開發者自己告訴我。我查看了蘋果,CNN和維基百科上的一些靜態內容,它們都是正常的圖像(基於標題)和圖像頭本身。大多數都是動態創建的,但隨後存儲到CDN中。 –

+0

太棒了,謝謝。 – umassthrower

相關問題