前端传值 FormData


// 前端要传给后端的参数
let params = {
    info: [{
            name: 'Jack',
            age: 11,
            file: '文件类型'
        },
        {
            name: 'Make',
            age: 15,
            file: '文件类型'
        },
    ]
}
// 前端处理

let formdata = new FormData()
for (let d in params) {
    let v = params[d]
    if (Object.prototype.toString.call(v) === '[object Array]') {
        v.forEach((item, i) => {
            if (typeof item == 'object') {
                for (let k in item) {
                    formdata.append(`d[${i}].${k}`, item[k])
                }
            } else {
                formdata.append(`d[${i}]`, item)
            }
        })
    } else {
        formdata.append(d, v)
    }
}
// 记得 content-type: multipart/form-data
// 处理完结构如下 
/*
    info[0].name : Jack,
    info[0].age : 11,
    info[0].file : (binary)
    info[1].name : Make,
    info[1].age : 15,
    info[1].file : (binary)
*/

后端参照

posted @ 2021-04-20 11:17  有点油  阅读(1398)  评论(0)    收藏  举报