这两天用到uploadify的flash版本进行批量图片上传并生成缩略图的功能,之前用uploadify用的好好的,这次突然出现了一个奇怪的问题。
问题描述如下:当我选择单个图片上传的时候,图片上传都能成功,且缩略图展示也没有问题,但当我选择多张图片上传时,只有部分图片上传成功,未上传成功的也没有报错,而且奇怪的是后台返回的缩略图地址中居然有未上传成功的图片缩略图,而上传成功的图片的缩略图却不一定会返回正常展示缩略图。而当我在onUploadSuccess事件中弹出alert()时描述的问题居然就不会出现了。
找错误找了半天也没找出代码中有什么问题。后来还请教同事才知道,原来我上传图片后台处理的时候将图片重命名了,而我用的是time()返回的时间戳来命名图片的,正是由于这样命名,而我在上传多张图片时,如果网速超快,服务器也给力,一秒内上传了多张图片,那么这几张图片的名称就会是相同的,也就是后面上传的图片会覆盖掉前面同一秒内上传成功的图片。后来我把命名方法改成用microtime(true)函数,或者uniqid(mt_rand(), true)函数,问题就解决了,哇咔咔,第一次遇到这种问题,以后一定要记住。文件上传重命名时不用time()函数返回值了。