layui上传多张图片请求一次接口
新项目需求必须用layui写,没办法在用的过程中,碰到了这个问题,找了好久,最后用这个方法亲测是有效的,这样传参以后后台拿到了所有的数据,
var files
upload.render({
elem: '#upload',
exts: 'jpg|png|jpeg|gif', // 设置可上传文件
multiple: true,
auto: false, // 选择文件后不自动上传
choose: (obj) => {
console.log(obj)
files = obj.pushFile();
}
})
可以先拿到图片的文件files,当然也要将文件设置成点击提交按钮再请求后台,也可以用jq直接获取input框中的files,拿到以后再以下面的方法写,就可以一次性将数据全都发送到后台。
最后请求的参数就是这样的,这样就保证可以与表单的其他数据一起提交,file文件也会以 数组的形式传到后台。
这里也是回答一下其他博主问的几个问题。
第一点: 强调一下存放文件的字段file这个字段可以随便声明,并不一定要叫file,这个就是前后端商量着来,怎么方便怎么来。
第二点: 这里我自己的字段声明用的是file[],主要也是为了方便理解,所以在file声明时带上了中括号[],因为是 张截图也懒得去换了。这样可能误导了好多人,以为一定要带上中括号,这里还是和第一点一样,就是随便声明就可以,还是前后端商量着来。