Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

259
Views
¿Cómo saber cuántos bytes se enviaron en la solicitud de recuperación?

Estoy obteniendo datos de diferentes API con la API de búsqueda de JavaScript. Pero, ¿cómo puedo saber cuántos bytes se envían en cada solicitud de análisis?

La solicitud puede ser en cualquier método. Sé que puedo obtener la cantidad de bytes recibidos con response.headers["content-length"] . Necesito encontrar una manera de obtener la cantidad de bytes enviados en la interfaz (navegador o dispositivo móvil usando React Native). Idealmente, sería el tamaño total de la solicitud, pero solo el tamaño del cuerpo de la solicitud sería suficiente.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede obtener el valor que se establecerá en el encabezado Content-Length leyendo el cuerpo de la Solicitud como texto y verificando la longitud de la cadena devuelta:

 (async () => { const formdata = new FormData(); const file = new Blob(["data".repeat(1024)]) formdata.append("key", file) const req = new Request("/", { method: "POST", body: formdata }); // note that we .clone() the Request // so that we can still use the original one with fetch() console.log((await req.clone().text()).length); fetch(req); console.log("check the Network panel of your dev tools to see the sent header"); })();

Sin embargo, esto solo se aplica a las solicitudes en las que se envía este encabezado, es decir, no a las solicitudes GET y HEAD.

about 4 years ago · Juan Pablo Isaza Report

0

Una solución rápida que utilicé: un pequeño middleware (uso Express ):

 const socketBytes = new Map(); app.use((req, res, next) => { req.socketProgress = getSocketProgress(req.socket); next(); }); /** * return kb read delta for given socket */ function getSocketProgress(socket) { const currBytesRead = socket.bytesRead; let prevBytesRead; if (!socketBytes.has(socket)) { prevBytesRead = 0; } else { prevBytesRead = socketBytes.get(socket).prevBytesRead; } socketBytes.set(socket, {prevBytesRead: currBytesRead}) return (currBytesRead-prevBytesRead)/1024; }

Y luego puede usar req.socketProgress en su middleware.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!