Maison > Article > interface Web > React Native utilise Fetch pour télécharger des images
Cette fois, je vais vous apporter les précautions pour utiliser fetch dans React Native pour télécharger des images. Ce qui suit est un cas pratique.
Réseau normalParamètre de requête est un objet JSON
Le paramètre de requête pour le téléchargement d'image utilise l'objet formDataLe code pour télécharger des images à l'aide de fetch est encapsulé comme suit :
let common_url = 'http://192.168.1.1:8080/'; //服务器地址 let token = ''; //用户登陆后返回的token /** * 使用fetch实现图片上传 * @param {string} url 接口地址 * @param {JSON} params body的请求参数 * @return 返回Promise */ function uploadImage(url,params){ return new Promise(function (resolve, reject) { let formData = new FormData(); for (var key in params){ formData.append(key, params[key]); } let file = {uri: params.path, type: 'application/octet-stream', name: 'image.jpg'}; formData.append("file", file); fetch(common_url + url, { method: 'POST', headers: { 'Content-Type': 'multipart/form-data;charset=utf-8', "x-access-token": token, }, body: formData, }).then((response) => response.json()) .then((responseData)=> { console.log('uploadImage', responseData); resolve(responseData); }) .catch((err)=> { console.log('err', err); reject(err); }); }); }
Instructions d'utilisation
let params = { userId:'abc12345', //用户id path:'file:///storage/emulated/0/Pictures/image.jpg' //本地文件地址 } uploadImage('app/uploadFile',params ) .then( res=>{ //请求成功 if(res.header.statusCode == 'success'){ //这里设定服务器返回的header中statusCode为success时数据返回成功 upLoadImgUrl = res.body.imgurl; //服务器返回的地址 }else{ //服务器返回异常,设定服务器返回的异常信息保存在 header.msgArray[0].desc console.log(res.header.msgArray[0].desc); } }).catch( err=>{ //请求失败 })Remarque : en raison d'un serveur d'arrière-plan différent configurations,
let Le type dans file = {uri: params.path, type: 'application/octet-stream', name: 'image.jpg'} peut également être multipart/form-data
formData.append ("fichier", fichier ) dans le champ fichier peut également être des images
Plusieurs façons de lier ceci pour réagir aux événements
Comment utiliser des caractères dans String.prototype. format Épissage de chaînes
Explication détaillée de la conversion de type implicite en JS
Comment utiliser le service $http en angulaire
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!