i faced the same problem with onUploadProgress in my nextjs/nestjs app which i have this flow user choose a file i sent it to my backend and my backend send it to object storage , its not the same situation but it can help you undestand . onUploadProgress reach 100% and the download to object storage has not finished yet in reality and after wasting a lot of time with it : onUploadProgress show 100% when the file has finished uploading from your client/browser to your backend (server) and in dev mood or localhost this is is very fast so thats why it appear 100% direclty after choosing file but when deploying in production mood u will notice that it take some time its not fast like in dev mood so the 100% that is shown is not the percentage of uploading from server to object storage (its for you to handle calculating the percentage of this)