今天用ajaxFileUpload做了一个读取图片EXIF信息然后上传到服务器的功能。
因为读取是在后台读取的,所以先上传了一次。
后来发现读取完成以后,再上传的时候file为空,没有文件信息。
网上查资料也找不到解决办法。
后来看ajaxFileUpload源码,发现创建from的时候没有保留原file的file信息。
解决方法:
在ajaxFileUpload.js源码中找到:createUploadForm 找到这一段
var oldElement = $('#' + fileElementId);
var newElement = $(oldElement).clone();
$(oldElement).attr('id', fileId);
$(oldElement).before(newElement);
$(oldElement).appendTo(form);
改为:
var oldElement = jQuery('#' + fileElementId);
var newElement = oldElement.clone(true);
newElement[0].files=oldElement[0].files;
oldElement.attr('id', fileId);
oldElement.before(newElement);
oldElement.appendTo(form);
保存,问题解决。