React Native使用fetch實現(xiàn)圖片上傳的示例代碼
本文介紹了React Native使用fetch實現(xiàn)圖片上傳的示例代碼,分享給大家,具體如下:
普通網(wǎng)絡(luò)請求參數(shù)是JSON對象
圖片上傳的請求參數(shù)使用的是formData對象
使用fetch上傳圖片代碼封裝如下:
let common_url = 'http://192.168.1.1:8080/'; //服務(wù)器地址
let token = ''; //用戶登陸后返回的token
/**
* 使用fetch實現(xiàn)圖片上傳
* @param {string} url 接口地址
* @param {JSON} params body的請求參數(shù)
* @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);
});
});
}
使用方法
let params = {
userId:'abc12345', //用戶id
path:'file:///storage/emulated/0/Pictures/image.jpg' //本地文件地址
}
uploadImage('app/uploadFile',params )
.then( res=>{
//請求成功
if(res.header.statusCode == 'success'){
//這里設(shè)定服務(wù)器返回的header中statusCode為success時數(shù)據(jù)返回成功
upLoadImgUrl = res.body.imgurl; //服務(wù)器返回的地址
}else{
//服務(wù)器返回異常,設(shè)定服務(wù)器返回的異常信息保存在 header.msgArray[0].desc
console.log(res.header.msgArray[0].desc);
}
}).catch( err=>{
//請求失敗
})
注意:由于后臺服務(wù)器配置的不同,
let file = {uri: params.path, type: 'application/octet-stream', name: 'image.jpg'}中的type也可能是multipart/form-data
formData.append("file", file)中的的file字段也可能是images
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- ReactNative實現(xiàn)圖片上傳功能的示例代碼
- react native實現(xiàn)往服務(wù)器上傳網(wǎng)絡(luò)圖片的實例
- React+ajax+java實現(xiàn)上傳圖片并預(yù)覽功能
- React中上傳圖片到七牛的示例代碼
- React實現(xiàn)阿里云OSS上傳文件的示例
- react quill中圖片上傳由默認(rèn)轉(zhuǎn)成base64改成上傳到服務(wù)器的方法
- 基于Node的React圖片上傳組件實現(xiàn)實例代碼
- React獲取Java后臺文件流并下載Excel文件流程解析
- react-native-fs實現(xiàn)文件下載、文本存儲的示例代碼
- react使用axios實現(xiàn)上傳下載功能
相關(guān)文章
React18從0實現(xiàn)dispatch?update流程
這篇文章主要為大家介紹了React18從0實現(xiàn)dispatch?update流程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
react使用useState修改對象或者數(shù)組的值無法改變視圖的問題
這篇文章主要介紹了react使用useState修改對象或者數(shù)組的值無法改變視圖的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
React生命周期方法之componentDidMount的使用
這篇文章主要介紹了React生命周期方法之componentDidMount的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
jsoneditor二次封裝實時預(yù)覽json編輯器組件react版
這篇文章主要為大家介紹了jsoneditor二次封裝實時預(yù)覽json編輯器組件react版示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
React onBlur回調(diào)中使用document.activeElement返回body完美解決方案
這篇文章主要介紹了React onBlur回調(diào)中使用document.activeElement返回body完美解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04

