ajax formdata 多文件上传,如何用FormData实现多文件上传

可以用数组形式,我贴代码了

html 部分

js部分

var i,

data = new FormData();

...

for (i = 0; i < $('.select-file').files.length; i++) {data.append('file[]', this.files[i]);

}

...//省略代码若干...在选择完成后调用下面$.ajax

$.ajax({url: 'url'type: "POST",data: data,dataType: 'json',processData: false,// *重要,确认为falsecontentType: false,beforeSend: function () {

...  },success: function (res) {

console.log(res);

},error: function (res) {

...}

});

php 部分 接收数组

$fileField='file';

$name = $_FILES$fileField;$tmp_name = $_FILES[$fileField]['tmp_name'];

$size = $_FILES[$fileField]['size'];

$error = $_FILES[$fileField]['error'];

/如果是多个文件上传则$file["name"]会是一个数组/

if(is_Array($name)){

$errors=array();

/多个文件上传则循环处理 , 这个循环只有检查上传文件的作用,并没有真正上传/

for($i = 0; $i < count($name); $i++){

/设置文件信息/

if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i] )) {if(!$this->checkFileSize() || !$this->checkFileType()){

$errors[] = $this->getError();

$return=false;

}

}else{$errors[] = $this->getError();$return=false;

}

/如果有问题,则重新初使化属性/

if(!$return)$this->setFiles();

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值