El error ocurre como resultado de .child(blob), y lo he intentado:
.child() .child({blob}) .child(blob.name)"blob" se define en partes anteriores del código, aún debería poder referirse a él en el almacenamiento.
async function handleSubmitUpload() { if (recordedChunks.length) { const blob = new Blob(recordedChunks, { type: "video/webm", }); await storage().ref(`prodReviews/${blob}`).put(blob); console.log( "success storing" + (blob)); await storage() .ref('prodReviews') .child(blob) .getDownloadURL() .then((videoUrl) => { firestore.doc(`products/${productID}`) .set({videoUrl}, { merge: true }); console.log("Review for item uploaded successfully") setRecordedChunks([]); }) } }El método child() toma la ruta del objeto como parámetro y no como un blob. Intente refactorizar el código como se muestra a continuación:
// Create a storage reference const reviewRef = storage().ref(`prodReviews/${blob}`); // Upload the object to that ref await reviewRef.put(blob); // Get download URL const videoUrl = await reviewRef.getDownloadURL(); // Add Firestore document await firestore.doc(`products/${productID}`).set({videoUrl}, { merge: true });