如何从手机上传图片到Firebase存储?

时间:2018-12-13 16:08:04

标签: firebase react-native firebase-storage expo react-native-image-picker

我正在尝试使用Expo将手机上的图片上传到Firebase。 我从图片中获得了一个uri,但不确定如何转换它,可以将其上传到Firebase吗?

  _pickImage = async () => {
    let result = await ImagePicker.launchImageLibraryAsync({
      allowsEditing: true,
      aspect: [4, 3],
    });

    if (!result.cancelled) {
      console.log('device URL: w',result.uri);
      this.setState({ image: result.uri });
      this.uploadImage(result.uri).then(resp =>{
        alert('success')
      }).catch(err=>{
        console.log(err)
      })
    }
  };

当我记录result.uri时,我得到:

  

file:/// var / mobile / Containers / Data / Application / 1E5612D6-ECDB-44F4-9839-3717146FBD3E / Library / Caches / ExponentExperienceData /%2540anonymous%252FexpoApp-87f4a5f5-b117-462a-b147-cab242b0a916 / ImagePicker /45FA4A7B-C174-4BC9-B35A-A640049C2CCB.jpg

如何将其转换为适用于Firebase的格式?

2 个答案:

答案 0 :(得分:0)

您可以将图像转换为base64,有几个库可以做到这一点。

答案 1 :(得分:0)

您需要将图像转换为base64,这是使用rn-fetch-blob的示例 https://github.com/joltup/rn-fetch-blob

x = 5
y = 6
...
print(x)