Object转化 为 FormData

/*

  • @Author : Lem
  • @Date : 2020-03-03 10:24:38
  • @LastEditTime : 2020-09-02 16:46:57
  • @Descripttion : -
  • @FilePath : \src\utils\toFormData.js
    */

/**

  • @Name: toFormData
  • @Description: 转化 为 FormData
  • @param {Object} data 传入 需转化的数据
  • @return: {FormData}
    */
    export default function toFormData(data) {
    const fd = new FormData()
    disposeData(’’, data, fd)
    return fd
    }
    function disposeData(key, val, fd) {
    for (const i in val) {
    if (Array.isArray(val[i])) {
    val[i].forEach((item, index) => {
    if (item instanceof Blob) {
    fd.append(keyJoin(key, i), item, item.name || index)
    } else {
    if (typeof item === ‘object’) disposeData(${i}[${index}], item, fd)
    else {
    if (item instanceof Blob) fd.append(keyJoin(key, i), item, index)
    else fd.append(keyJoin(key, i), item)
    }
    }
    })
    } else if (typeof val[i] === ‘object’ && !(val[i] instanceof Blob)) {
    disposeData(i, val[i], fd)
    } else {
    fd.append(keyJoin(key, i), val[i])
    }
    }
    }
    function keyJoin(…_args) {
    return _args.filter(item => !!item).join(’.’)
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值