2016-10-10 5 views
0

에서 내가 base64로 문자열로 상대 경로에 저장된 이미지를로드하기 위해 노력하고있어 기본 반작용 JSON에서 그것을 보내 Base64로 문자열로 지역 이미지를 읽기, 대신의 응답으로 require 반환 3 이미지 소스.원주민 반작용 :

경로가 정확하고 require 명령이 내 Reacy 네이티브 JSX 코드의 다른 위치에서 작동하여 아무런 문제없이 동일한 상대 경로 (<Image source={require('../resources/examplecar.jpg')}>)에서 이미지를로드 할 수 있습니다.

JSON으로 보내려면 파일 시스템에서 로컬 이미지 원본을 base64 문자열로 가져 오는 방법은 무엇입니까?

var body = { 
    path: '../resources/examplecar.jpg', 
    data: { 
     image: require('../resources/examplecar.jpg'), 
    } 
} 
+0

작동 했습니까? 나 또한 같은 문제가있다 –

+0

내가 답변에 게시 된 해결 방법은 나를 위해 일했습니다. –

답변

1

변수가 필요하지 않습니다. rn의 이미지 소스에서는 작동하지 않습니다. 수행

image: require('../resources/examplecar.jpg') 
+0

그게 해결책을 찾는데 도움이되었지만 오타였습니다. 주요한 문제는'require ('../resources/examplecar.jpg')'가'3'으로 평가된다는 것입니다. –

+0

그런 식으로 로그를 기록합니다. 그러나 이미지 구성 요소의 소스로 사용하면 작동합니다. –

+0

문제는 이미지 구성 요소의 소스로 사용하지 않고 JSON의 문자열 일부로 사용한다는 것입니다. –

1

사용 RNFS은이 (가) 기본 자산을 반응 Base64로를 포함하여 다양한 형식으로 데이터를 변환 액세스 할 수 있습니다 플러그인.

imageData = await RNFS.readFile(RNFS.MainBundlePath+"/assets/resources/examplecar.jpg", 'base64').then(); 
관련 문제