圖片預覽的實現細節

Mark一次圖片預覽功能開發中遇到的問題細節

首先是環境 使用開源js viewer.js做圖片預覽,具體效果可以查看Viewer.js在線演示

下面是遇到的幾個細節

1、不希望暴露文件的路徑、不希望暴露固定的路徑(即每一次都可以通過該路徑訪問資源)

使用緩存,使用UUID隨機生成一個Key和圖片的真實路徑放到緩存中做映射,同時將SessionID和這個key做映射

頁面上所有的圖片統一訪問同一個路徑只是作爲參數的Key不同,後臺根據Key獲取圖片真實路徑,讀取圖片後返回前臺

做Session監聽,當Session過期後 清理緩存,使Key失效

2、當圖片很多時 瀏覽器卡頓

使用懶加載,在網上找了一個懶加載JS,做一個正在加載中的小體積的Gif圖片,默認加載這個Gif圖,當要瀏覽時才加載真實圖片

Web開啓Gzip壓縮(僅限部分格式,某些格式開啓壓縮後會更大。具體自行百度)

開啓緩存,效果是當圖片的最後修改時間不變時,直接使用瀏覽器緩存的圖片

3、圖片損壞的狀況

使用img標籤的onerror事件,加載錯誤圖片 如當前圖片已損壞

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章