浏览器文件选择对话框出现未配置的图片格式(jfif/pjp/pjpeg)的原因咨询
浏览器文件选择对话框出现未配置的图片格式(jfif/pjp/pjpeg)的原因咨询
嘿,你遇到的这个情况其实是浏览器对图片MIME类型的兼容映射在搞鬼,我给你捋清楚:
你在代码里给input的accept属性指定了image/jpeg, image/png, image/gif, image/webp这几种MIME类型,但浏览器并不会严格只显示对应标准扩展名的文件,它会自动把一些和这些MIME类型兼容的变种格式也包含进来:
- jfif、pjpeg:这俩其实都是JPEG格式的“马甲”。jfif是早期JPEG文件交换格式的缩写,本质上和jpg/jpeg是同一种图片格式;pjpeg则是旧版格式的遗留扩展名,浏览器会自动把它们归到
image/jpeg的范畴里,所以哪怕你没写,也会出现在选择框里。 - pjp:这个是Chrome等现代浏览器为了兼容旧有场景添加的扩展名,同样属于JPEG格式的变种,自然也会被
image/jpeg的MIME类型覆盖到。
说白了,浏览器这么做是为了避免用户漏掉那些实际能用的兼容格式,毕竟这些变种格式本质上和你指定的JPEG是一样的,打开后完全能正常使用。
如果你确实想严格限制只显示你指定的那几种扩展名,也有办法——把accept属性改成直接写扩展名的形式就行,比如:
accept=".jpg,.jpeg,.png,.gif,.webp"
这样浏览器就只会乖乖显示你列出来的这些扩展名的文件,不会再额外映射其他兼容格式啦。
内容来源于stack exchange
相关产品推荐
相关产品推荐

