互聯(lián)網(wǎng)技術(shù)不停的發(fā)展,造成我們過去的一些網(wǎng)站建設(shè)技術(shù)逐漸顯得落后,甚至被淘汰。例如網(wǎng)站程序處理網(wǎng)站管理員在后臺(tái)上傳的圖片時(shí),有可能存在低概率故障:網(wǎng)站后臺(tái)上傳圖片不顯示。在短時(shí)間內(nèi),對(duì)于處理圖片不顯示的問題,我們一共處理了三次類似的程序缺陷。
缺陷一:新版瀏覽器上傳圖片不顯示,如:IE 11瀏覽器
在常規(guī)網(wǎng)站后臺(tái),一般允許網(wǎng)站管理上傳的圖片格式有jpg、gif、png這三種,如果網(wǎng)站程序員初次接觸圖片處理,可能會(huì)不驗(yàn)證網(wǎng)站管理員上傳的圖片(有可能造成一些偽裝成圖片的惡意程序上傳成功),那么就不會(huì)遇到這個(gè)缺陷,但是這種不驗(yàn)證圖片性質(zhì)的程序編寫方式我們比較不推薦,至少我們要在程序中驗(yàn)證一下圖片的文件類型。對(duì)于jpg格式的圖片和png格式的圖片,IE 11瀏覽器對(duì)其的文件類型解析和其他瀏覽器不一樣,因此就會(huì)出現(xiàn)圖片上傳失敗的故障。
處理方案:修改程序,考慮jpg格式的圖片文件類型有可能是image/pjpeg、image/jpeg、image/jpg這三種不同解析方式的情況。如果程序還允許上傳png格式的圖片,同時(shí)還要考慮png格式的圖片文件類型有可能為:image/png和image/x-png兩種的情況。以后更新版的瀏覽器,可能對(duì)圖片還有別的解析方式,屆時(shí)及時(shí)修改程序就可以了。
缺陷二:圖片上傳后模糊。本缺陷過去常見于網(wǎng)站中的產(chǎn)品管理中心,現(xiàn)已升級(jí)程序,詳情請(qǐng)關(guān)注《提升網(wǎng)站圖片縮略圖清晰度實(shí)現(xiàn)高清壓縮》。
缺陷三:圖片擴(kuò)展名大小寫不同導(dǎo)致圖片上傳后不顯示
微軟系統(tǒng)中,文件擴(kuò)展名的大小寫沒有關(guān)系,例如:pic.jpg和pic.JPG都是指的同一個(gè)文件,但是在Linux系統(tǒng)中,這兩個(gè)文件名卻是指的不同的文件。因此,如果用戶上傳的文件擴(kuò)展名有的是大寫,有的是小寫,而網(wǎng)站在不同的服務(wù)器上托管,那么就有可能會(huì)出現(xiàn)有的圖片顯示,有的圖片不顯示的問題,如下圖所示:
處理方案:文件上傳后,在處理文件名之前,統(tǒng)一將文件名轉(zhuǎn)換為小寫(推薦)或者大寫,以便適應(yīng)各種服務(wù)器環(huán)境。
以上提到的兩種圖片不顯示的情況,都是屬于低概率缺陷,一般網(wǎng)站用戶比較難以遇到。但是不遇到不代表問題不存在,所以作為專業(yè)網(wǎng)站建設(shè)公司,我們應(yīng)該積極處理性質(zhì)類似的所有問題。