Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

172
Visualizações
react native expo upload image with camera or image picker app crashes

I'm trying to upload an image with expo react native in iOS 15, so when I take a photo, or pick a picture from gallery the apps crashes at 25% of upload.

When I am downloading a bad quality image from google, the app uploading an image very fastly without crashing.

I think the problem is about the size of the image.

My upload code :

  const savePost =  async() => {

    if(!image) return;

    const path = `posts/${auth.currentUser.uid}/${Math.random().toString(36)}`;

    const response = await fetch(image);
    const blob = await response.blob();
    
    // Upload file and metadata to the object 'images/mountains.jpg'
    const storageRef = ref(storage, path);
    const uploadTask = uploadBytesResumable(storageRef, blob);
    
    // Listen for state changes, errors, and completion of the upload.
    uploadTask.on('state_changed',
        (snapshot) => {
        // Get task progress, including the number of bytes uploaded and the total number of bytes to be uploaded
        const progress = Math.round((snapshot.bytesTransferred / snapshot.totalBytes) * 100);
        setprog(progress);
        switch (snapshot.state) {
            case 'paused':
            console.log('Upload is paused');
            break;
            case 'running':
            console.log('Upload is running');
            break;
        }
        }, 
        (error) => {
        // A full list of error codes is available at
        // https://firebase.google.com/docs/storage/web/handle-errors
        switch (error.code) {
            case 'storage/unauthorized':
            // User doesn't have permission to access the object
            console.log("// User doesn't have permission to access the object");
            break;
            case 'storage/canceled':
            // User canceled the upload
            console.log("// User canceled the upload");
            break;
    
            // ...
    
            case 'storage/unknown':
            // Unknown error occurred, inspect error.serverResponse
            console.log("// Unknown error occurred, inspect error.serverResponse");
            break;
        }
        }, 
        () => {
        // Upload completed successfully, now we can get the download URL
        getDownloadURL(uploadTask.snapshot.ref).then((downloadURL) => {
            console.log('File available at', downloadURL);
        });
        }
    );
    
}
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda