/ chrome

Chrome选择上传文件反应慢原因及在OctoberCMS中的解决方案

不知道啥时候起,在有些网站点击选择上传文件反应很慢,要等好一会儿才会出现文件选择框,这两天在测试OctoberCMS时也出现这个问题,实在恼人,就想看看怎么解决。

搜索了一下,发现有人已经给出解决方案:http://blog.csdn.net/xiaolyuh123/article/details/52680505 (后来发现不完全正确)

选择文件时如果设定可选的文件类型为*时,就会出现反应慢的情况,如果指定了具体的文件类型如image/jpg image/gif就没有问题。

于是我追了一下OctoberCMS里的代码,发现OctoberCMS里本身就是指定了具体的类型,具体定义在October\Rain\Filesystem\Definitions这个类的imageExtensions方法里,难道是那个人的结论不对?

于是我做了一个最小系统测试,把类型限定成一个,比如只允许jpg格式的图片,在OctoberCMS里的修改办法是在fields.yml中对应的字段增加一个fileTypes数组,只放一个值jpg。然后刷新页面,点击上传文件时立马出现了文件选择框。

这样就很明白了,肯定是OctoberCMS定义的某个类型会导致Chrome弹出文件选择框慢,一个个尝试了过去,最终发现是svg这个类型导致的。

所以最终的解决方案是在fields.yml里手段指定fileTypes为jpg jpeg gif png bmp,完美解决。