2017-01-31 5 views
3

私は、私は次の形式で画像のパスを取得し、キャプチャ上で、反応するネイティブ・カメラの画像をキャプチャし、iOSデバイスのために、CameraRoll(CaptureTarget)でそれらを保存するために使用react-native-cameraを使用してカメラのロールURLから画像を表示する方法は?

"assets-library://asset/asset.JPG?id=8B55D3E5-11CE-439A-8FC6-D55EB1A88D7E&ext=JPG" 

画像を表示するには、このパスを使用する方法イメージコンポーネント(反応ネイティブから)?

以前はディスクをCaptureTargetオプションとして使用していましたが、イメージURLを表示することができました。イメージコンポーネントですが、今度はカメラロールに画像を保存する必要がありますか? 「資産ライブラリ:// ..」私はからのbase64を取得するためにRNFetchBlob使用していた

+0

これはまったく解決しましたか? – ajonno

+0

@ajonno私の答えをご覧ください – carelesslyChoosy

答えて

1

URLは、私のキャプチャ機能は、私はこのbase64のデータをユーザーにいくつかのアプリの機能を与え、その後

this.camera.capture() 
     .then((data) => { 
     // console.log(data); 
     RNFetchBlob.fs.readFile(data.path, 'base64') 
      .then((base64data) => { 
      let base64Image = `data:image/jpeg;base64,${base64data}`; 
      this.props.addImagesToUntagged(data.path); 
      }) 

     }) 

です最終的に私はS3サーバにこれを送信する必要があるとき、私はこのdata.followingコードを送信するために& RNFetchBlob axios使用すると、S3

axios.get(ENDPOINT_TO_GET_SIGNED_URL, {params:{'file-name': file.name,'file-type': file.type,"content-type": 'evidence'}}) 
    .then(function (result) { 
    // console.log(result); 
    returnUrl = result.data.url; 
    var signedUrl = result.data.signedRequest; 
    return uploadFile(file,signedUrl) 
    }) 

と私のuploadFile機能で、私は次のコード

て画像をアップロードするためのURLが署名した私に与えます
RNFetchBlob.fetch('PUT', signedUrl, 
    {'Content-Type' : file.type}, 
    RNFetchBlob.wrap(file.uri) 
) 
    .then(resolve) 
関連する問題