html 表单多个文件上传,form表单同时提交多个文件

Form表单

由于方便的原因,我们上传二进制文件一般会使用form表单来提交。

但是之前都是单个文件上传,现在需要同时上传多个二进制文件,所以来研究一下。

第一次时使用:

TIPS:选择文件时按CRTL进行多选

然鹅这个form表单的默认跳转有点头疼。所以最终还是采用下面这种方法同时上传多个文件

第二次时使用:

tip: input文件选择框的[0]里面存所选file文件,是数组。

window.onload = function() {

let uploadFiles = $("#upload")[0].files;

let otherParams = ""

let form = new FormData();

form.append('otherParams', otherParams);

for (i in uploadFiles) {

// 由于form表单的数据是绑定在name属性上的,而name可以多个相同(不像对象的键)

form.append("uploadFile", uploadFiles[i])

};

let config = {'你的配置项,已经声明数据是formData,此时可以不用配置,可以配置请求头之类的信息'}

axios.post("/xxx/xx", form,config).then(res => {

// 此时后台的Request对象中的files包含了前端上传的单个或多个二进制文件

}).catch(err => {

})

}

为什么提交文件时需要使用formdata呢?

form表单数据能根据用户所选的 文件地址,当submit会根据这个地址去本地找文件然后上传. 所以你看到的form里面的数据只有一个路径...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值