关于form-data

作者: VictoriaZsj | 来源:发表于2019-03-26 11:32 被阅读0次

    有关request post请求格式中的multipart/form-data格式。

    ***** 传递给后端的数据转换为整型*****

    在后端与前端约定好application/json格式传递数据时,因为后台是go强类型语言,在定义api接口时,某些字段要求是整型类型,但是对于前端来说输入框或者从url中的search取到的参数都是字符串,不得不进行前端类型转换。

    后端同学还支持另一种的前后端数据交互请求内容格式为Content-Type: multipart/form-data,用来指定请求内容的数据编码格式。通过该格式后端取到前端传递的数据就是数字了(即使前端传递的是字符串),而不像json格式获取的是字符串。这样,就不需要额外对前端获取的数据进行特殊转换了

    form-data格式一般是用来进行文件上传的。使用表单上传文件时,必须让表单的 enctype 等于 multipart/form-data,因为该值默认值为application/x-www-form-urlencoded

    手动来实现一个转换数据函数,https://www.cnblogs.com/wonyun/p/7966967.html

    
    
    function objectToFormData (obj, form, namespace)
    
    {
    
    const fd = form || new FormData();
    
    let formKey;
    
    for(var property in obj){
    
            if(obj.hasOwnProperty(property))
    
            {
    
                let key = Array.isArray(obj) ? '[]' : `[${property}]`;
    
                if(namespace) { formKey = namespace + key; }
    
                else { formKey = property; }
    
                // if the property is an object, but not a File, use recursivity.
    
                if(typeof obj[property] === 'object' && !(obj[property] instanceof File))
    
                { objectToFormData(obj[property], fd, formKey); }
    
                else { // if it's a string or a File object fd.append(formKey, obj[property]); }
    
            }
    
    }
    
    return fd;
    
    }
    

    相关文章

      网友评论

        本文标题:关于form-data

        本文链接:https://www.haomeiwen.com/subject/rtxmdqtx.html