>  기사  >  웹 프론트엔드  >  React Native가 가져오기를 사용하여 이미지를 업로드하는 방법

React Native가 가져오기를 사용하여 이미지를 업로드하는 방법

小云云
小云云원래의
2018-03-09 09:53:532268검색

이 글에서는 fetch를 사용하여 이미지 업로드를 구현하는 React Native의 샘플 코드를 소개하고, 자세한 내용은 다음과 같습니다. 일반적인 네트워크 요청 매개변수는 JSON 개체입니다.

가져오기를 사용하여 이미지를 업로드하는 코드는 다음과 같이 캡슐화됩니다.


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 파일 = {uri: params .path, type: 'application/octet-stream', name: ' image.jpg의 유형은 multipart/form-data일 수도 있습니다.
formData.append("file", file)의 파일 필드는 다음일 수도 있습니다. 이미지

관련 권장 사항:

로컬 json 파일 가져오기에 대한 표현 및 공유 팁 사용

React Native는 Fetch를 사용하여 POST 요청 보내기

php의 4개 가져오기 문

위 내용은 React Native가 가져오기를 사용하여 이미지를 업로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.