Quiero cargar un archivo grande en mi servidor localhost. Y debido a que el tamaño del archivo será grande (tal vez 500 MB), necesito enviar los datos chunk by chunk desde el cliente. Luego, mi servidor Nodejs seguirá agregando los datos a un temp file . Finalmente, cambiaré el formato del archivo y lo guardaré.
El problema es que no sé cómo enviar y leer datos correctamente. Así es como lo estoy haciendo ahora, en mi servidor sigo obteniendo el objeto {} .
Lado del cliente:
// Prepare & Start Upload const reader = new FileReader(); reader.addEventListener("load", async () => { await fetch('/api/v1/file/upload/', { method: 'POST', body: reader.result }); }) reader.readAsArrayBuffer( file.slice(0) ); // try to read whole file(small) firstConfiguración de mi aplicación:
/* Register Middlewares */ app.use(express.json()) app.use(express.urlencoded({extended:true})) app.use('/api/v1/file/upload', fileUploadRouter) app.use(express.static('./views')) app.use(appError) /* App Start */ const PORT = process.env.PORT || 3000 app.listen(PORT, () => console.log('Listening to: localhost:'+PORT))mi ruta
fileUploadRouter.post('/', async ( req, res, next ) => { var buffer = req.body console.log(buffer) })¡Gracias por tu ayuda!