今日頭條發表原創圖文時,在設定文章封面三張圖時,
有時候會遇到錯誤資訊“部分圖檔實際像素低于172*120, 不支援設定為封面”。
然而我上傳的每張圖檔都是大小超過4MB的高清晰圖檔,怎麼可能像素低于172 * 120? 因為我是個程式猿,是以我使用Chrome的開發者工具的network标簽頁分析了這個錯誤的原因。
我點選“+”号從今日頭條文章的所有圖檔裡選擇一張作為封面圖時,會産生兩個HTTP請求,從請求的響應尺寸不難得知,第一個請求擷取的是圖檔的原始資料,第二個是縮略圖。
第一個請求的明細:
request header:
Referer:
http://mp.toutiao.com/profile_v3/graphic/figureUser-Agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36
response header:
第一個請求的url:
https://p3.pstatp.com/origin/pgc-image/cad64fb19f59463eb116b43bacc60de3Access-Control-Allow-Origin:
*
Age:
Ali-Swift-Global-Savetime:
1549976603
BD-Request-Id:
d4a6c0286b9bd196548e595d1666c39f
Bd-Status:
TCP_MISS
Cache-Control:
max-age=31536000
Connection:
keep-alive
Content-Length:
5688059
Content-Type:
image/jpeg
Date:
Tue, 12 Feb 2019 13:03:23 GMT
EagleId:
7d40019715499766036666093e
Nw-Session-Id:
a9557205-eed0-4fd7-9dcb-1a4e59a9201e
Nw-Session-Trace:
2019-02-12T21:03:23.737888427+08:00 31
Server:
Tengine
Timing-Allow-Origin:
Via:
http/1.1 cache22.img (bdcache [cMsSfW]), cache33.img, cache26.l2eu95[66,200-0,M], cache6.l2eu95[68,0], cache17.cn1434[103,200-0,M], cache3.cn1434[104,0]
X-Cache:
MISS TCP_MISS dirn:-2:-2
X-Response-Date:
Tue, 12 Feb 2019 21:03:23 GMT
X-Swift-CacheTime:
31536000
X-Swift-SaveTime:
X-Tt-Logid:
2019021221032301002507023130162
浏覽器裡通路,其實就是原圖:
第二個請求的url:
https://p3.pstatp.com/list/pgc-image/cad64fb19f59463eb116b43bacc60de3第二個請求的頭部:
第二個請求的響應頭部:
1
1549976605
9afe823c672d7fa0bb29ffb74f209803
6973
Tue, 12 Feb 2019 13:03:25 GMT
7d40019715499766048211246e
04fe747f-9737-496c-8a85-8bf55451c342
2019-02-12T21:03:25.34367513+08:00 467
http/1.1 cache05.hlimg (bdcache [cMsSfW]), cache44.img, cache27.l2eu95[520,200-0,M], cache45.l2eu95[522,0], cache3.cn1434[558,200-0,M], cache3.cn1434[558,0]
X-Crop-Loc:
(0,0)-(4608,3215)
Tue, 12 Feb 2019 21:03:25 GMT
2019021221032401000304717333954
浏覽器裡通路,其實就是縮略圖:
再回到這個錯誤的根源,由于我家裡網絡不穩定,有的時候會出現第一個請求失敗的情況,此時今日頭條的前端網頁沒有擷取到圖檔的原始資料,JavaScript端解析不到圖檔的像素,是以認為該圖檔像素低。是以,這個錯誤消息實際上是由我本地網絡狀況不佳造成的,并不是今日頭條的bug。