tutorial principiantes para nodejs node libro google framework ejemplos node.js google-drive-sdk google-api-nodejs-client

node.js - principiantes - node js gmail api



¿Obtiene el progreso de carga para el cliente NodeJS de Google Drive? (2)

Después de obtener el objeto de solicitud de req = drive.files.insert cómo usarlo, busque el progreso de carga de archivos?

Lo busqué en la req string llamándolo varias veces, pero fue en vano.

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); }


Cada solicitud a la API devuelve un request object , lo que le permite realizar un seguimiento del progreso de la solicitud o información general sobre la solicitud. Necesita agregar un controlador para una parte de solicitud recibida.

Aquí está el código de ejemplo:

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 + "%)");

Puede encontrar la documentación en este blog .


Así es como se hace

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); }

Referencia: feedback del indicador de progreso de Node.js - Answer by Riel

Y un agradecimiento especial a Ryan Seys por ayudarme.