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

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


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

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值