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.