Estamos tratando de crear una carga de archivos grandes (tamaño> 30 MB) desde teléfonos Android e iOS, para eso creamos una API Express.js para la carga de archivos.
Punto final: user/upload
uploadFile:function(req,res){ //upload files to AWS s3 asychrnous s3.upload(params,options,function(err, data) { //when upload complete //need a help on this part if(data){ //Send a notification to client } }); res.json({ status:true, 'message':'Upload ongoing' }); } Cuando el usuario solicita la API ( user/upload ), inmediatamente da esta respuesta:
{ status:true, 'message':'Upload ongoing' }Porque la carga es asíncrona. Entonces, ¿cómo puedo notificar al cliente cuando se complete la carga?
Para el caso de uso específico, recomendaría el siguiente flujo
El flujo anterior es completamente asincrónico y altamente escalable, lo que reduce la carga de su API express.