中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

React Native使用fetch實現圖片上傳的示例代碼

發布時間:2020-08-27 21:07:15 來源:腳本之家 閱讀:326 作者:withings 欄目:web開發

本文介紹了React Native使用fetch實現圖片上傳的示例代碼,分享給大家,具體如下:

普通網絡請求參數是JSON對象

圖片上傳的請求參數使用的是formData對象

使用fetch上傳圖片代碼封裝如下:

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);
      });
  });
}

使用方法

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=>{ 
     //請求失敗
  })

注意:由于后臺服務器配置的不同,
let file = {uri: params.path, type: 'application/octet-stream', name: 'image.jpg'}中的type也可能是multipart/form-data
formData.append("file", file)中的的file字段也可能是images

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿拉善盟| 响水县| 建昌县| 克什克腾旗| 兰州市| 荥经县| 青铜峡市| 平定县| 康保县| 桦南县| 宝山区| 彩票| 石门县| 孙吴县| 米易县| 阳新县| 兴和县| 屯留县| 三明市| 邵阳市| 文登市| 耒阳市| 博湖县| 交口县| 驻马店市| 绥棱县| 卢氏县| 凯里市| 萨迦县| 望谟县| 清丰县| 恩平市| 武陟县| 鸡泽县| 临夏县| 杂多县| 佛冈县| 清徐县| 莎车县| 兖州市| 珲春市|