微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

给ajaxfileupload上传文件时增加一些参数

ajaxfileupload是一个jquery的文件上传插件,可以利用ajax无刷新上传文件到服务器。其实现原理为:利用js动态创建一个表单,并提交。但认情况下,该插件只能上传一个文件,且不能携带其它参数。有时候,我想给在上传文件的同时,还带一个参数,用来表示将文件上传到哪个目录下。下面的修改就可以实现这个功能

1、调用插件的地方,加上参数

$.ajaxFileUpload({
	            url:"${ctx}/tmsReceiver/doUpload.do",// 用于文件上传的服务器端请求地址
	            secureuri:false,// 一般设置为false
	            fileElementId:"fileUpload",// 文件上传间的id属性  <input type="file" id="file" name="file" />
	            dataType: "json",// 返回值类型 一般设置为json
	            params:{"side":side,"identityNum":$("#identityNum").val()},success: function(data){...

2、修改插件代码
在ajaxfileupload.js中调用创建表单的函数处,增加一个参数:

var form = jQuery.createUploadForm(id,s.fileElementId,s.params);

3、修改createUploadForm函数

createUploadForm: function(id,fileElementId,params)
 {
  //create form 
  var formId = 'jUploadForm' + id;
  var fileId = 'jUploadFile' + id;
  var form = jQuery('<form  action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>'); 
  var oldElement = jQuery('#' + fileElementId);
  var newElement = jQuery(oldElement).clone();


  jQuery(oldElement).attr('id',fileId);
  jQuery(oldElement).before(newElement);
  jQuery(oldElement).appendTo(form);
  for(var key in params){
	  var property = '<input type="text" name="'+key+'" value="'+params[key]+'">';
	  $(property).appendTo(form);  
 }...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐