2015-08-24 1 views
-1

Je voudrais télécharger un fichier à la fois, tout en permettant à plusieurs fichiers d'être glissé/sélectionné à la fois. Y a-t-il un moyen de faire cela? Il semble que l'utilisation d'une promesse pourrait être la voie à suivre, mais, n'ayant jamais utilisé de promesses auparavant, je ne suis pas sûr.Comment télécharger un fichier à la fois de manière synchrone?

En ce moment, j'ai ce code:

 for (var i = 0, len = $scope.files.length; i < len; i++) 
     { 
      var file = $scope.files[i]; 
      file.progress = 0; 
      Upload.upload({ 
       url: '/file-upload', 
       fields: {}, 
       file: file 
      }).progress(function (e) { 
       file.progress = parseInt(100.0 * e.loaded/e.total) + '%'; 
      }).success(function (data, status, headers, config) { 
       file.progress = 100; 
      }); 
     } 

Répondre

0

téléchargement de fichiers est un processus lent, vous ne voulez pas que votre navigateur soit gelé alors que le téléchargement est en cours. Egalement angulaire ne prend pas en charge les appels HTTP synchrones: https://stackoverflow.com/a/13088385/1105011

+0

Je rencontre des problèmes lors du chargement d'une série d'images sur le serveur. Comme la procédure de téléchargement est asynchrone, tous mes fichiers sont corrompus car angulaire envoie une seconde image à l'API Web avant que le téléchargement de la première soit terminé ... Mais quand je télécharge une seule image, cela fonctionne très bien. Avez-vous des suggestions? – khaled4vokalz