互联网技术不停的发展,造成我们过去的一些网站建设技术逐渐显得落后,甚至被淘汰。例如网站程序处理网站管理员在后台上传的图片时,有可能存在低概率故障:网站后台上传图片不显示。在短时间内,对于处理图片不显示的问题,我们一共处理了三次类似的程序缺陷。
缺陷一:新版浏览器上传图片不显示,如: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系统中,这两个文件名却是指的不同的文件。因此,如果用户上传的文件扩展名有的是大写,有的是小写,而网站在不同的服务器上托管,那么就有可能会出现有的图片显示,有的图片不显示的问题,如下图所示:
处理方案:文件上传后,在处理文件名之前,统一将文件名转换为小写(推荐)或者大写,以便适应各种服务器环境。
以上提到的两种图片不显示的情况,都是属于低概率缺陷,一般网站用户比较难以遇到。但是不遇到不代表问题不存在,所以作为专业网站建设公司,我们应该积极处理性质类似的所有问题。