Estoy intentando cargar un mp3 en el almacenamiento de firebase usando expo y react native. Hasta ahora, tengo el archivo en el almacenamiento de Firebase, pero solo tiene 9 bytes, así que estoy haciendo algo mal. Intenté esto con blob como se muestra a continuación sin éxito.
Aquí hay una captura de pantalla de la carpeta de almacenamiento de Firebase que muestra el archivo cargado pero no los datos de dicho archivo:

Cualquier ayuda es muy apreciada, siento que me falta un paso para cargar los datos junto con el archivo.
export default function SongPicker() { const [song, setSong] = useState(null); //Get current user through authentication const user = auth.currentUser; const pickDocument = async () => { let result = await DocumentPicker.getDocumentAsync({}); // Fetch the photo with it's local URI const response = fetch(result.uri); alert(result.uri); console.log(result); const file = new Blob( [response.value], { type: 'audio/mpeg' }); console.log('do we see this?'); try { //Create the file reference const storage = getStorage(); const storageRef = ref(storage, `songs/${user.uid}/${result.name}`); // Upload Blob file to Firebase const snapshot = uploadBytes(storageRef, file, 'blob').then((snapshot) => { console.log('Uploaded a song to firebase storage!'); }); setSong(result.uri); } catch (error) { console.log(error); } }fetch() devuelve una Promesa, por lo que también debe agregar una espera para eso.
const response = await fetch(result.uri); Luego intente usar el método blob() en la Respuesta :
const file = await response.blob() El tercer parámetro en uploadBytes debe ser cargar un objeto de metadatos, pero puede omitirlo aquí:
const snapshot = await uploadBytes(storageRef, file).