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