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

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

·  var oldElement = $('#' + fileElementId);  浏览器

·  var newElement = $(oldElement).clone();  app

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

·  $(oldElement).before(newElement);  spa

·  $(oldElement).appendTo(form); .net

将其修改成以下便可:orm

·  var oldElement = jQuery('#' + fileElementId);  get

·  var newElement = oldElement.clone(true);  源码

·  newElement[0].files=oldElement[0].files;  文件上传

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

·  oldElement.before(newElement);

·  oldElement.appendTo(form);

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

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

该js包是在官方下载的ajaxFileUpload.js基础上所作修改后的包,修改该包所要解决的问题包括:

一、浏览器上传文件后不刷新页面再次点击上传时后台接收不到文件的bug

二、解决了ajaxFileUpload 报jQuery.handleError is not a function的bug

三、解决了使用ajaxFileUpload除了上传文件外不能传递其余参数的bug

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值