类型错误:网络请求失败上传图像 Firebase React Native

时间:2021-07-20 10:58:52

标签: firebase react-native google-cloud-firestore

我尝试使用 React Native 将图像上传到 firebase。但是当我尝试上传图片时出现错误:

TypeError: Network request failed

我之前使用过此代码两次,然后就可以使用了。这次的不同之处在于我使用 React Native cli 而不是 Expo。此外,这次图像是前一个屏幕的打印屏幕,而不是使用 react-native-image-picker 从库中挑选的图像。

我的代码:

  const uploadImage = async () => {
    const uri = props.route.params.result;
    const childPath = `paintBoards/${
      auth().currentUser.uid
    }/${Math.random().toString(36)}`;
    console.log(childPath);
    console.log(uri);
    const response = await fetch(uri);
    const blob = await response.blob();
    const task = storage().ref().child(childPath).put(blob);

    const taskProgress = snapshot => {
      console.log(`transferred: ${snapshot.bytesTransferred}`);
    };

    const taskCompleted = () => {
      task.snapshot.ref.getDownloadURL().then(snapshot => {
        savePostData(snapshot);
        console.log(snapshot);
      });
    };

    const taskError = snapshot => {
      console.log(snapshot);
    };

    task.on('state_changed', taskProgress, taskError, taskCompleted);
  };

  const savePostData = downloadURL => {
    firebase
      .firestore()
      .collection('PaintBoards')
      .doc(auth().currentUser.uid)
      .collection('UserPaintBoards')
      .add({
        downloadURL,
        caption,
        creation: firebase.firestore.FieldValue.serverTimestamp(),
      })
      .then(function () {
        props.navigation.popToTop();
      });
  }

0 个答案:

没有答案