Amikor az Axios felold egy Node-kérést a responseType: 'stream' beállítással, a törzs fogyasztásra kész. A fájl azonban még nem teljes. Várja meg az átvitelt a célhelyére:

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));

Ez egy már beállított klienst használ. Az adapterének támogatnia kell a kiválasztott proxyt vagy SOCKS-ügynököt; az Axios beépített HTTP-proxy opciója és egy SOCKS-ügynök külön mechanizmusok. Az URL-t, az időkorlátokat és a megszakítási szabályzatot az alkalmazás adja.

Használjon ehhez a művelethez tartozó ideiglenes útvonalat. Az írási stream létrehozása előtt döntse el, hogyan kezeli az ütközéseket, hogy a hiba utáni takarítás ne törölje más fájlját. A szándékos folytatáshoz saját szabályzat kell.

A pipeline összehangolja az olvasást és az írást, és jelenti azok hibáját. A response.data.pipe(file) meghívása és azonnali sikerjelentés kihagyja ezt a befejezési pontot. Hálózati megszakítás vagy tele lemez érvényes HTTP-válasz megérkezése után is előfordulhat; őrizze meg a válasz kontextusát és a feldolgozást leállító hibát.

Miután a várt feldolgozás sikerrel járt, végezze el az alkalmazás termékellenőrzéseit, majd tegye közzé a végleges nevet. A befejezés azt jelenti, hogy a streamet ezen API-k keretében fogyasztották és írták, nem azt, hogy ez a várt kiadás vagy dokumentum. Hiba vagy megszakítás esetén a választott folytatási szabályzat szerint tartsa meg vagy törölje a részleges fájlt. A megszakítási jel leállíthatja az érintett kérést és stream-műveleteket; nem dönti el, mit tegyen az alkalmazás a kimenettel.

Kapcsolódó cikkek