Inutile de présenter le fonctionnement de FileReference, suffisamment d’informations circulent sur le web à ce sujet. En revanche une chose est rarement précisée: pour qu’une opération d’upload ou de download aille jusqu’à son terme, il faut que la variable de type FileReference utilisée soit globale.
On pourrait penser que, quand bien même, la tâche devrait logiquement se poursuivre en arrière plan après le retour de la fonction qui a servi à créer l’objet, et bien non. Pire: aucun indice ne vous sera donné pendant la compilation ou l’exécution pour indiquer un problème et l’opération ne produira aucun résultat.