Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
Upload large file by chunks using File reader using Angular

I am trying to upload files and the current code supports file size upto 100MB and if the size of the file increases getting out of Memory screen in browser

private ProcessReadFile(file:File){
   return new Promise<void>(resolve=>{
        const reader= new FileReader();
        let content:any;
        reader.onloadend=()=>{
                     content=reader.result;
                     var fileContent=content.split('base64,')[1];
                    this.fileUpload.push({
                       Filecontent:fileContent;
                       FileType:file.Type
                     });
                 resolve;
         };
     reader.readAsDataUrl(file);
     });
  }

Can some one please suggest/help me to improve below method upload large data files.

I tried to slice large files into chunks and append while converting to base64 string but its not working and getting hanged even for 30 MB file.

Please let me know whats the error and correction required.

 private ProcessReadFile(start,file){
       return new Promise<void>(resolve=>{
            
            const reader= new FileReader();
            var slice_size=10000*1024;
            var next_slice=start+slice_size+1;
            var blob=file.slice(start,next_slice);
            let content:any='';
            reader.onloadend=()=>{
                 if(reader.readyState!==FileReader.Done)
                 { 
                   return;
                 }
                 content=reader.result;
                let base64Split=content.split('base64,')[1];
                let resultString='';
                 resultString=this.base64String+base64Split.toString();
                this.base64String=resultString;
                if(next_slice<file.size)
                {
                  this.ProcessReadFile(next_slice,file);
                }   
                else
                {
                   this.fileUpload.push({
                           Filecontent:fileContent;
                           FileType:file.Type
                         });
                     resolve;
                  
                }
                         
                      
             };
         reader.readAsDataUrl(file);
         });
      }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda