React Native 文件上传插件
2020-11-12 16:58 在思考中成长 阅读(632) 评论(0) 收藏 举报刚写完一个react-native安卓的应用,上传毫无问题。同楼上,fetch是可以上传multipart/form-data的,只是官方文档给的不是很好。RN是支持FormData的,并且支持图片文件直接上传。
const formData = new FormData();
formData.append('token', result.data);
formData.append('file', {uri: image, name: image, type: 'image/jpeg'});
//**************文件上传**************
uploadImage(imgAry){
console.log('imgAry', imgAry);
let formData = new FormData(); //因为需要上传多张图片,所以需要遍历数组,把图片的路径数组放入formData中
for(var i = 0;i<imgAry.length;i++){
//截取获取文件名
var a=imgAry[i].uri;
var arr = a.split('/');
// 获取文件名end
// 判断文件的类型(视频-图片等)end
let file = {uri: imgAry[i], type: imgAry[i].mime, name: arr[arr.length-1]}; //这里的key(uri和type和name)不能改变,
formData.append("file", file); //这里的files就是后台需要的key
//这里的files就是后台需要的key
}
console.log('formData', formData);
console.log('uri', imgAry[0].uri);
var request = {
imgAry,
};
console.log('request', request);
fetch('http://'+yourServerIP+'/api/resources',{
method:'POST',
headers:{
'Content-Type':'multipart/form-data',
},
body:formData,
})
// .then((response) => response.json())
.then((responseData)=>{
alert('文件上传成功!');
console.log('responseData=',responseData);
})
.catch((error)=>{console.error('error=',error)});
},
浙公网安备 33010602011771号