关于ajaxFileUpload只能上传一次的解决

今天用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);
保存,问题解决

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...