React Native fench FormData 上传文件

首先说下这个问题很坑,append的Js的object类型无效,我们后台用的是java
上错不成功的代码

let url = 'http://192.168.1.120:8090/app/release';
        let params = {parentId: "0",text: this.state.textContent,postType: 0,profitType: 0}

        let formdata = new FormData();
        formdata.append('file',{uri: this.state.envURL[0].uri,type: 'image/jpg',name: 'image.jpg'});
        formdata.append('appUserPost',String(params));

        fetch(url,{
            method: 'post',headers: {
                'Content-Type': 'multipart/form-data; boundary=6ff46e0b6b5148d984f148b6542e5a5d',},body: formdata
        }).then(response => {
            console.log("image uploaded")
        }).catch(err => {
            console.log(err)
        })

正确的是拆分object
成功的代码

let url = 'http://192.168.0.89:8080/app/release';

        var appUserPost = { 'appUserPost': params,type: 'application/octet-stream' }
        var file = { uri: this.state.envURL,type: 'multipart/form-data',name: 'image.png' }
        let formdata = new FormData();

        formdata.append('file',file); // you can append anyone.

        formdata.append('parentId',"0")
        formdata.append('text',"asdfasd")
        formdata.append('postType',0)
        formdata.append('profitType',1)
        console.log("formdata",JSON.stringify(formdata))

        fetch(url,{
            method: 'POST',headers: {
                'Accept': 'application/json',// 'Content-Type': 'multipart/form-data',processData: false,contentType: false,body: formdata
        }).then(function (response) {
            console.log(response)
        }).catch(err => {
            console.log(err)
        })


    }

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...