Axios devolveu un fluxo. O ficheiro aínda se está a escribir.
Espere tanto a lectura da rede como a escritura no destino ao descargar con Axios en Node a través dun axente SOCKS.
Cando Axios resolve unha petición Node con responseType: 'stream', o corpo está listo para consumir. O ficheiro aínda non está completo. Espere o traslado ao seu destino:
import { createWriteStream } from 'node:fs';
import { pipeline } from 'node:stream/promises';
const response = await client.get(url, { responseType: 'stream' });
await pipeline(response.data, createWriteStream(partPath));Isto usa un cliente xa configurado. O seu adaptador debe admitir o proxy ou o axente SOCKS escollido; a opción de proxy HTTP integrada de Axios e un axente SOCKS son mecanismos distintos. A aplicación fornece a URL, os tempos de espera e a política de cancelación.
Use unha ruta temporal propiedade desta operación. Decida como tratar as colisións antes de crear o fluxo de escritura, para que a limpeza tras un fallo non elimine o ficheiro doutra persoa. Unha reanudación deliberada necesita a súa propia política.
pipeline coordina lectura e escritura e informa do seu fallo. Chamar response.data.pipe(file) e rexistrar o éxito de inmediato omite ese punto de finalización. Unha interrupción de rede ou un disco cheo poden ocorrer despois de que chegase unha resposta HTTP válida; conserve o contexto da resposta e o erro que detivo o procesamento.
Unha vez que o procesamento agardado teña éxito, realice as comprobacións de artefacto da aplicación e logo publique o nome final. Completar significa que o fluxo se consumiu e escribiu con estas API, non que sexa a versión ou o documento agardados. En caso de fallo ou cancelación, conserve ou elimine o ficheiro parcial segundo a política de reanudación escollida. Un sinal de cancelación pode deter a petición e as operacións de fluxo correspondentes; non decide que debe facer a aplicación coa saída.