如何使用本机相机显示来自相机胶卷 url 的图像



我使用react-native-camera捕获图像并将其保存在iOS设备的cameraRoll(CaptureTarget)中,在捕获时,我以以下形式获得图像路径

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

如何使用此路径在图像组件中显示图像(来自 react-native)?

以前我使用磁盘作为捕获目标选项,并且我能够显示该图像url图像组件,但现在要求将图像保存在相机胶卷中?

我已经使用 RNFetchBlob 从"assets-library://.." 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);
          })
      })
之后,我

为用户提供了一些关于base64数据的应用程序内功能,最后当我需要将其发送到S3服务器时,我使用axios和RNFetchBlob发送此数据。

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

在我的上传文件函数中,我通过以下代码上传图像

RNFetchBlob.fetch('PUT', signedUrl,
    {'Content-Type' : file.type},
    RNFetchBlob.wrap(file.uri)
  )
  .then(resolve)

相关内容

  • 没有找到相关文章

最新更新