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 .