Obtenir la progression du téléchargement pour le client Google Drive NodeJS?

Après avoir obtenu l’object requête de req = drive.files.insert comment l’utiliser pour rechercher la progression du téléchargement de fichier?

Je l’ai cherché dans la req ssortingng en l’appelant plusieurs fois, mais en vain.

 function uploadFile(){ var path = untildify("~/workspace/incomplete/aw.jpg"); var drive = google.drive('v2'); var req = drive.files.insert({ resource: { title: 'aw.jpg' }, media: { body: fs.createReadStream(path) }, auth: oauth2Client }, function(err, response) { if (err) console.log(err); // else // console.log(response); }); console.log(req); } 

    Voici comment c’est fait

     function uploadFile(){ var path = untildify("~/workspace/a.jpg"); var drive = google.drive('v2'); console.log('start upload'); var req = drive.files.insert({ resource: { title: "a.jpg" }, media: { body: fs.createReadStream(path) }, auth: oauth2Client }, function(err, response, body) { if (err) { console.log(err); } else { console.log('finish upload'); clearInterval(q); } }); var q = setInterval(function () { console.log("Uploaded: " + req.req.connection.bytesWritten); }, 250); } 

    Référence: Node.js feedback indicateur feedback – Réponse de Riel

    Et un merci spécial à Ryan Seys pour m’aider.

    Chaque demande adressée à l’API renvoie un request object , ce qui vous permet de suivre l’avancement de la demande ou des informations générales sur la demande. Vous devez append un gestionnaire pour une partie de la demande reçue.

    Voici l exemple de code:

     part.addListener("request", function(received) { // Calculate upload progress var progress = (stream.bytesReceived / stream.bytesTotal * 100).toFixed(2); var mb = (stream.bytesTotal / 1024 / 1024).toFixed(1); sys.debug("Uploading " + mb + "mb (" + progress + "%)"); 

    Vous pouvez trouver la documentation dans ce blog .