Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

249
Vistas
cómo dividir un búfer en trozos

He intentado resolver esto pero fue en vano. Estoy subiendo un archivo a un servidor. entonces, estoy usando fs.readfilesync (ruta de ubicación del archivo) para leer el archivo. cuando consuelo. registro el resultado, obtengo un búfer. Mi objetivo es tratar de dividir este búfer en un tamaño de 10 mb en el sentido de que si alguien carga un archivo de 100 mb, necesito que ese archivo se divida con la fórmula 100 mb / 10 mb. De esta manera, puedo obtener fragmentos específicos que puedo enviar al servidor a la vez. Entonces, mi desafío es cómo subdividir este búfer en fragmentos. Hasta ahora esto es lo que he probado pero nada positivo:

buffer

Búfer (1011712) [6, 6, 237, 245, 216, 29, 70, 229, 189, 49, 239, 231, 254, 116, 183, 29, 68, 79, 67, 85, 77, 69, 78 , 84, 1, 112, 15, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 141, 68, 59, 0, 0, 0, 0 , 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, …]

 var fileToUpload = fs.readFileSync(folderPath) var len = fileToUpload.byteLength var fileToUploadBuf = new Uint16Array(fileToUpload) for (let i = 0; i < len;) { var chunk = fileToUploadBuf.slice(i, 'how do I get bytes size') if (chunk.length) { console.log('the lenght of chunk is', chunk) i += chunk.length } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No creo que sea posible de esta manera, creo que debe enviar el archivo a su servidor como Stream

Codificación de transferencia MDN

aquí adjunto un ejemplo de Node.Js del servidor que transmite el archivo al almacenamiento S3

Paquete.json

 { "name": "custom-server", "dependencies": { "express": "4.13.3", "request": "2.64.0", "multiparty": "4.1.2", "form-data": "1.0.0-rc3" } }

Índice.js

 var app = require("express")(); var multiparty = require("multiparty"); app.post("/submit", function(httpRequest, httpResponse, next){ var form = new multiparty.Form(); form.on("part", function(part){ if(part.filename) { var FormData = require("form-data"); var request = require("request") var form = new FormData(); form.append("thumbnail", part, {filename: part.filename,contentType: part["content-type"]}); var r = request.post("http://localhost:7070/store", { "headers": {"transfer-encoding": "chunked"} }, function(err, res, body){ httpResponse.send(res); }); r._form = form } }) form.on("error", function(error){ console.log(error); }) form.parse(httpRequest); }); app.get("/", function(httpRequest, httpResponse, next){ httpResponse.send("<form action='http://localhost:9090/submit' method='post' enctype='multipart/form-data'><input type='file' name='thumbnail' /><input type='submit' value='Submit' /></form>"); }); app.listen(9090);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda