7
votes

noeud-formidable et une barre de progression simple

Si je regarde dans la documentation du nœud formidable, je peux lire:

res.write('received upload:\n\n');


0 commentaires

3 Réponses :


3
votes

Une bonne option pourrait utiliser socket.io

N'oubliez pas d'écraser le OnPart Code> Crochet. P>

incomingForm.onPart = function(part) {
  part.addListener('data', function() {
    // send back to the client the status
  });
}


3 commentaires

Vous suggérez donc de remplacer le nœud formidable avec Socket.IO-Node sur le côté serveur pour tout le processus de téléchargement?


... Je l'obtiens. Le client apporte une demande postale à un noeud-formidable, puis démarre une session Socket.io avec un socket.io-noeud. Sur chaque partie noeud-formidable reçoit, il effectue un rappel sur Socket.io-noeud qui diffuse à tous les clients. Les clients doivent filtrer uniquement les messages concernant ses propres fichiers. Quelque chose comme ça?


Cela pourrait être une option. Un autre pourrait être de stocker le côté du serveur de progression (dB, le fichier JSON) et le client le demande en interrogatoire.



7
votes

Vous n'avez pas besoin de remplacer le crochet code> ongart code>!

Il suffit de diffuser un message si la prise de chaque formulaire Progress code> Appel de rappel d'événements comme ceci: P >

form.on('progress', function(bytesReceived, bytesExpected) {
  var progress = {
    type: 'progress',
    bytesReceived: bytesReceived,
    bytesExpected: bytesExpected
  };

  socket.broadcast(JSON.stringify(progress));
});


1 commentaires

@Giovanni Pourriez-vous nous donner un exemple sur le serveur et le côté client sur la manière de faire rouler votre propre barre de progression?



0
votes

Dites, vous téléchargez quelque chose via AJAX, vous devez simplement avoir besoin de raccorder un rappel à xhr.upload.onprogress sur le côté client: xxx

rien requis sur le côté serveur. Voir ici pour la liste complète des points d'injection. Et tutoriel ici . < / p>


0 commentaires