【OSS 排查方案-6】圖片處理業務
03-12
背景:針對 OSS case 的基礎排查,以及如果查看圖片基礎原始參數進行故障定位
必要信息:
- 處理圖片的需求請描述清楚
- 圖片處理的原圖鏈接
- 圖片處理後的鏈接
查看圖片原基礎參數:
示例
遇到問題時,如果有明顯的參數超過顯示等問題,可以先看下原始參數中的信息,是否有超標,類似如下原始參數中的寬、高、像素、等等,(我們已知的 OSS 單邊長度不能超過 4X4096 ,乘積不能低於 4096X4096 )
描述:OSS圖片尺寸超限
思路:
- 先收集報錯信息
- 根據報錯信息判斷是圖片超過顯示,我們請求一下圖片的原始信息看下是否超過限制。通過 info 信息可以看到用戶原始圖片的 height 超過限制
描述:開啟了 OSS 違規檢測,圖片被判定違規,但是外部還能訪問到?
- OSS 沒有封禁功能,這個服務是內容識別來做的。屬於安全產品。
- 用戶調用內容識別後,發現是違規圖片只是被凍結,不在控制台上顯示,但不會被刪除,正常的保存在 bucket 中。如果要不被別人訪問,用戶需要手動點擊違規並刪除,或者批量刪除。
- 詳細的文檔說明
描述:這張圖通過OSS獲取主色調是灰色,好像不對
思路:
- 首先測試一下獲取圖片主色調的參數,查看原圖的主色調
我們主色調計算不是按照屏幕顏色佔比來計算的,是按照圖片中心的主顏色來定的色調
- 計算邏輯如下:
1.計算整個圖片的色調的平均值 (avg_hue)
2.遍歷每個像素,計算該像素的色調值與 avg_hue 的色差(即將二者相減後取絕對值),如果該色差大於一個閾值(本文中取 30),則將該像素加入到「醒目像素」的列表
3.計算整個「醒目像素列表」的顏色均值,得到的結果即為該圖片的主色調
描述:oss文字水印, 一個文字水印 是否可以分兩行顯示文字,如果不可以,是否可以一個圖片 添加多個文字水印
思路:
- 文件水印分行顯示:不支持
- 添加多個文字水印:支持
- 實例
描述:使用 OSS 圖片處理服務,出現 「Picture exceed the maximum allowable rotation range」 異常。如下
思路:首先一般圖片自身會攜帶自適應的屬性,而客戶是在自適應的基礎上加了旋轉參數後出現的問題。我們可以把 resize 後的參數都去掉測試。看下是否和 resize 旋轉參數有關。發現去掉後也是一樣的報錯。通過官網文檔可知。
- 對縮略後的圖片大小有限制,目標縮略圖的寬與高的乘積不能超過4096 x 4096, 且單邊的長度不能超過4096 x 4。(https://help.aliyun.com/document_detail/44687.html?spm=a2c4g.11174283.6.966.JfcJ2n)
- 我們在看下圖片的原參數的寬高,可知道已經超過了我們的單邊限制 4096X4,所以出現不能旋轉的異常,對於這種問題,我們先要想自適應關閉,然後在用 resize 處理圖片。詳情參考。
了解更多請微博關注阿里雲客戶滿意中心
推薦閱讀: