今天有个功能需要上传附件,又开始捡起几个月前已经放弃的jquery file upload 插件。
载入页面的时候,浏览器控制台报错:
Cannot read property 'parseMetaData' of undefined
jquery.fileupload-image.js:268
并且,在选择文件之后,该有的缩略图也没显示出来,只显示文件名:
关于这个parseMetaData的报错问题,在之前的博客中也写过一篇,说这个词是和文件相关的,好像和文件缩略图也有关,报错原因是jquery file upload插件中的几个js文件引用顺序有误有关,看看目前的情况:
............
报错的代码:
loadImage.parseMetaData(data.files[data.index], function (result) {...
也就是说,jquery.fileupload-image.js中,找到了loadImage,但它还没用 parseMetaData 这个属性。很显然,loadImage是load-image.min.js中的,而jquery.fileupload.js 中会对已经声明的loadImage进行处理,比如设置一些属性什么的。
但是,load-image.min.js 在jquery.fileupload.js 之后出场的话,上述步骤就无法进行了。
因此,尝试调整一下上述js文件的引用顺序,让 load-image.min.js 先出场:
......
刷新页面,不报错了,选择文件之后的缩略图也正常显示了:
问题解决。这唐僧大哥的表情一如我现在的心情啊