原来写法
function uploadImage (url,params){
return new Promise(function (resolve, reject) {
console.log(params)
let formData = new FormData();
// for (let i =0; i<params.length;i++){
let file = {uri:params , type: 'application/octet-stream', name: 'image.jpg'};
formData.append('file',file );
// }
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data;charset=utf-8',
},
body: formData,
}).then((response) =>{
// response.json()
console.log(response)
}).then((responseData)=> {
console.log('uploadImage', responseData);
resolve(responseData);
})
.catch((err)=> {
console.log(err);
reject(err);
});
});
}
得到的结果是
{
"type": "default",
"status": 200,
"ok": true,
"headers": {
"map": {
"x-xss-protection": "1",
"set-cookie": "jwt=eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyLWNvZGUiOiJyb290LXVzZXIiLCJleHAiOjE1NTU0MjY0Mjl9.UaHzsIil8t9HtgrBF8JN0c2W-eIIkDEmb6GvO9Do0-A;Expires=Tue, 16 Apr 2019 14:53:49 +0000;Path=/;HttpOnly;SameSite=Strict",
"connection": "keep-alive",
"content-length": "360",
"content-type": "application/json;charset=utf-8",
"date": "Tue, 16 Apr 2019 13:53:49 GMT",
"server": "nginx/1.15.10"
}
},
"url": "***",
"_bodyInit": {
"_data": {
"size": 360,
"offset": 0,
"blobId": "3397402a-12dd-4dd9-8980-90924aeb416d"
}
},
"_bodyBlob": {
"_data": {
"size": 360,
"offset": 0,
"blobId": "3397402a-12dd-4dd9-8980-90924aeb416d"
}
}
}
这并不是我期望得到的结果,原因是因为RN版本升级feach 重写了异步 你将上传函数改成
async function uploadImage (url,params){
console.log(params)
let formData = new FormData();
// for (let i =0; i<params.length;i++){
let file = {uri:params , type: 'application/octet-stream', name: 'image.jpg'};
formData.append('file',file );
// }
let response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data;charset=utf-8',
},
body: formData,
})
let responseJson = await response.json();
console.log(responseJson)
}
如此便能得到你想要的效果