关于ajaxFileUpload上传文件时第二次上传无效的解决办法

前端之家收集整理的这篇文章主要介绍了关于ajaxFileUpload上传文件时第二次上传无效的解决办法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近做了一个通过上传文件后台然后后台解析文件后将内容显示页面功能,但是在测试过程中发现使用ajaxFileUpload上传文件时第一次上传后台可以正常读取到文件,但是当再次点击上传按钮时发现后台读取不到文件无法解析,出现这种问题的原因是由于ajaxFileUpload.js源码中在创建form的时候没有保留原file的信息,所以再次上传时会造成无法获取之前的file信息,找到createUploadForm 这段代码,原代码如下

·varoldElement=$('#'+fileElementId);

·varnewElement=$(oldElement).clone();

·$(oldElement).attr('id',fileId);

·$(oldElement).before(newElement);

·$(oldElement).appendTo(form);

将其修改为如下即可:

·varoldElement=jQuery('#'+fileElementId);

·varnewElement=oldElement.clone(true);

·newElement[0].files=oldElement[0].files;

·oldElement.attr('id',fileId);

·oldElement.before(newElement);

·oldElement.appendTo(form);


本人也提供了ajaxFileUpload.js文件下载,如需下载可点击 ajaxFileUpload.js 进行下载

该下载包除了除了满足正常的文件上传外还做了一些修改修改解决的问题包含:

该js包是在官方下载的ajaxFileUpload.js基础上所做修改后的包,修改该包所要解决的问题包括: 1、浏览器上传文件后不刷新页面再次点击上传后台接收不到文件的bug 2、解决了ajaxFileUpload 报jQuery.handleError is not a function的bug 3、解决了使用ajaxFileUpload除了上传文件外不能传递其他参数的bug

猜你在找的Ajax相关文章