情境分析:
上傳商品圖片後儲存一份原圖,然後一個微縮圖,
然後針對手機裝置的,
針對4G網路的,
針對3G網路的,
針對2G網路的,
…………
這樣每上傳一張商品圖片就被儲存為多份,要瘋了,怎麼能夠這樣子呢?
我看到有一種方法,就是只儲存一張原圖,然後 使用這樣的模式:
http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg?imageMogr2/format/webp/quality/85/thumbnail/210x180
可以看到 這個並不是一張真實的圖片地址,後面的參數可以調節的,這樣就可以 “按需輸出”想要的任何圖片了,
浮水印,裁剪,美化……統統不在話下,
但是我又有個疑問,它這個是PHP在後端做處理的嗎,這樣做合適嗎,一個頁面那麼多圖片,每個圖片請求都讓PHP去做這樣的事情,處理原圖,輸出,這樣會不會有效能問題,畢竟如果按第一種方式“一次性解決”就沒有PHP的事了,
所以很鬱悶,我目前只知道這兩種方式,另外其它雲儲存平台 七牛,又拍雲 的沒用過,希望有經驗的大神指導一下,感激不敬,最好找個現在實際的網站例子,讓我看看別人都是怎麼做的,
原諒我囉嗦,這個問題糾結我好久了。
謝謝!
補充:雲端儲存平台好像能幫你使用CDN分發,對這個還是有點模糊,大神不忙就幫我解釋解釋哈,如果圖片地址是一個真實的圖片檔案路徑,比如:https://www.baidu.com/img/bd_logo1.png,那麼就不能享受CDN了嗎,對這個概念還是很暈呢。
回複內容:
情境分析:
上傳商品圖片後儲存一份原圖,然後一個微縮圖,
然後針對手機裝置的,
針對4G網路的,
針對3G網路的,
針對2G網路的,
…………
這樣每上傳一張商品圖片就被儲存為多份,要瘋了,怎麼能夠這樣子呢?
我看到有一種方法,就是只儲存一張原圖,然後 使用這樣的模式:
http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg?imageMogr2/format/webp/quality/85/thumbnail/210x180
可以看到 這個並不是一張真實的圖片地址,後面的參數可以調節的,這樣就可以 “按需輸出”想要的任何圖片了,
浮水印,裁剪,美化……統統不在話下,
但是我又有個疑問,它這個是PHP在後端做處理的嗎,這樣做合適嗎,一個頁面那麼多圖片,每個圖片請求都讓PHP去做這樣的事情,處理原圖,輸出,這樣會不會有效能問題,畢竟如果按第一種方式“一次性解決”就沒有PHP的事了,
所以很鬱悶,我目前只知道這兩種方式,另外其它雲儲存平台 七牛,又拍雲 的沒用過,希望有經驗的大神指導一下,感激不敬,最好找個現在實際的網站例子,讓我看看別人都是怎麼做的,
原諒我囉嗦,這個問題糾結我好久了。
謝謝!
補充:雲端儲存平台好像能幫你使用CDN分發,對這個還是有點模糊,大神不忙就幫我解釋解釋哈,如果圖片地址是一個真實的圖片檔案路徑,比如:https://www.baidu.com/img/bd_logo1.png,那麼就不能享受CDN了嗎,對這個概念還是很暈呢。
這個訪問和處理方式是比較好的: http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg?imageMogr2/format/webp/quality/85/thumbnail/210x180
如上是一種即時處理機制,在七牛這邊處理,不是在你伺服器上處理,訪問之後就緩衝在七牛的CDN上面,之後直接存取處理後的圖片的緩衝,無需再處理。
這樣確實可以修改參數,如果你不想修改參數。
可以登入七牛的後台 portal.qiniu.com ,然後在選擇空間後,在資料處理那裡面開啟原圖保護。
開啟原圖保護之後把,imageMogr2/format/webp/quality/85/thumbnail/210x180 設定為樣式1 ,假設樣式1 取名為 fop1
然後你以後訪問
http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg?imageMogr2/format/webp/quality/85/thumbnail/210x180
只能這樣訪問:
http://fuss10.elemecdn.com/5/38/3f95a52520daa63f7a356d9c51c19jpeg.jpeg_fop1
這樣,就可以控制參數被修改,希望能幫到你。
用過七牛,表示是個不錯的第三方資源儲存平台,除了php的sdk有點坑之外,其他的都還不錯。同時它也提供了多種圖片縮放、剪裁的參數,也是直接在圖片的url後面加上參數就行了。