Как загрузить видео в Firebase FireStore в React Native - PullRequest
0 голосов
/ 02 мая 2020

В настоящее время я могу загрузить изображение в firebase firestore, сохранив его в BLOB-объекте и загрузить в firestore. Как бы я сделал то же самое, но вместо видео, я бы тоже поместил его в блоб? Ниже приведен код, который я использую для загрузки изображения.

openLibrary = async () => {
 const { status } = await Permissions.askAsync(Permissions.CAMERA_ROLL)
 if (status === 'granted') {
 const image = await ImagePicker.launchImageLibraryAsync({allowsEditing: true})
 if(!image.cancelled){
 const url = await this.props.uploadPhoto(image)
 this.props.updatePhoto(url)
      }
    }
  }
export const uploadPhoto = (image) => {
 return async (dispatch) => {
 try {
 console.log("in upload photo")
 const resize = await ImageManipulator.manipulateAsync(image.uri, [], { format: 'jpeg', compress: 0.1 })
 const blob = await new Promise((resolve, reject) => {
 const xhr = new XMLHttpRequest()
 xhr.onload = () => resolve(xhr.response)
 xhr.responseType = 'blob'
 xhr.open('GET', resize.uri, true)
 xhr.send(null)
      });
 const uploadTask = await firebase.storage().ref().child(uuid.v4()).put(blob)
 const downloadURL = await uploadTask.ref.getDownloadURL()
 return downloadURL
    } catch(e) {
 console.log("in upload photo error")
 console.error(e)
    }
  }
}
...