1. 程式人生 > >解決input[type=file]打開時慢、卡頓問題

解決input[type=file]打開時慢、卡頓問題

fire safe window jpg 可能 google 這樣的 str rip

為什麽在input標簽類型為file上傳文件時在標簽中設置屬性 accpet="image/*",打開本地文件夾的速度特別慢?

經過測試發現,在mac裏面safari、Firefox、Chrome(opera不知道為啥老閃退)都沒有卡頓問題

在windows裏面,Firefox不卡頓,只有Chrome卡頓。

於是我決定先去掉accpet試試……
果然就沒有了卡頓的問題。
那麽本包在試試accpet="image/jpg"果然也不卡卡的了!!
看來問題的所在就是"image/*"

但是寫accpet的原意是要想要篩選出所有圖片_(:з」∠)_
那麽為了實現這個需求,同時提高用戶體驗,只能采取枚舉了

修改後的代碼

 <input type ="file" accpet="image/gif,image/png,image/jpeg,image/jpg,image/bmp"/>

再試試,果然妥妥的了!

原來是因為Chrome的SafeBrowsing功能會在上傳或保存時檢查文件,
如果網絡連接到google的速度比較快呢,就沒有什麽問題。
但是如果連接比較慢,或者幹脆跪掉了,那SafeBrowsing就會讓Chrome掛起一段時間,直到文件檢查結束或者超時

使用accept="image/png, image/jpeg, image/gif"就可以解決這個問題,因為這些MIME類型在SafeBrowsing

的白名單裏面,不需要檢查。
但是如果用像是accept="image/*"這樣的呢,就不行了,就有可能變得卡卡的。

解決input[type=file]打開時慢、卡頓問題