【问题标题】:PHAsset image URI for react native application用于反应本机应用程序的 PHAsset 图像 URI
【发布时间】:2018-09-18 11:04:29
【问题描述】:

我正在编写一个原生 iOS 组件,用于响应原生以从相机胶卷中获取 PHAsset。我正在努力展示一个 PHAsset 的上传,因为它没有提供正确的 URI 以用于本机反应,而且我也在编写一个上传组件。如何做到这一点。

【问题讨论】:

  • 你好,这个库是你建的吗?我有兴趣使用它,谢谢

标签: objective-c reactjs react-native react-native-ios phasset


【解决方案1】:

我已经使用 expo-media-library 解决了这个问题 https://docs.expo.io/versions/latest/sdk/media-library

     async myFunc() {
     let uri = "ph://ED7AC36B-A150-4C38-BB8C-B6D696F4F2ED/L0/001"
     let myAssetId = uri.slice(5);
     let returnedAssetInfo = await MediaLibrary.getAssetInfoAsync(myAssetId);
     console.log(returnedAssetInfo.localUri); // you local uri link to get the file

} }`

【讨论】:

    【解决方案2】:

    React Native 目前对PHAsset(又名PHImageLibrary)URI 的支持非常复杂,例如photos://A6A2CEBD-766E-4BD7-980C-71ED7828674E/L0/001。它对已弃用的ALAssetsLibrary 有更好的支持,例如assets-library://asset/asset.MOV?id=A6A2CEBD-766E-4BD7-980C-71ED7828674E&ext=MOV(注意这是视频,不是照片,但想法是一样的)。

    您会注意到其中的 ID 是相同的,只是前缀/后缀发生了变化。尝试自己操作字符串。

    此外,基本上没有任何东西支持没有photos://assets-library:// 前缀的本地URI。 PHAssets 没有那个,因为~~~苹果的东西~~~。尝试在前面加上 photos://

    旁注,这些 URI 将适用于 iCloud 中实际上不是本地的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多